]> git.sesse.net Git - vlc/commitdiff
Improved screen for qt-always-video
authorClément Stenac <zorglub@videolan.org>
Sun, 27 Aug 2006 20:27:09 +0000 (20:27 +0000)
committerClément Stenac <zorglub@videolan.org>
Sun, 27 Aug 2006 20:27:09 +0000 (20:27 +0000)
modules/gui/qt4/components/preferences.cpp
modules/gui/qt4/components/video_widget.cpp
modules/gui/qt4/components/video_widget.hpp
modules/gui/qt4/res.qrc
modules/gui/qt4/util/qvlcframe.hpp

index 42ec90fc1be5ff50916fea73807dda1271d5f00f..dd32eda30097a060c627230b798e4a4d8b7ee9b9 100644 (file)
@@ -49,6 +49,9 @@
 #include <QGridLayout>
 #include <QHeaderView>
 
+#include <QPalette>
+#include <QColor>
+
 #define ITEM_HEIGHT 25
 
 /*********************************************************************
@@ -331,7 +334,6 @@ PrefsPanel::PrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
     module_t *p_module = NULL;
     vlc_list_t *p_list = NULL;
     global_layout = new QVBoxLayout();
-
     if( data->i_type == TYPE_CATEGORY )
     {
         /* TODO */
index 6fda625a343f6fb022377c820700d4b4f00c5ca2..e7d522b441a4c39d29c82c6617f5feaf78b3a4ad 100644 (file)
@@ -28,6 +28,8 @@
 #include "main_interface.hpp"
 #include <QHBoxLayout>
 
+#define ICON_SIZE 128
+
 static void *DoRequest( intf_thread_t *, vout_thread_t *, int*,int*,
                         unsigned int *, unsigned int * );
 static void DoRelease( intf_thread_t *, void * );
@@ -53,8 +55,9 @@ VideoWidget::VideoWidget( intf_thread_t *_p_i, bool _always ) : QFrame( NULL ),
              SIGNAL( timeout() ), this, SLOT( update() ) );
 
     if( always )
-        DrawBackground();
-
+    {
+       DrawBackground();
+    }
     need_update = false;
 }
 
@@ -88,6 +91,9 @@ VideoWidget::~VideoWidget()
     p_intf->pf_control_window = NULL;
     vlc_mutex_unlock( &lock );
     vlc_mutex_destroy( &lock );
+
+    if( always )
+        CleanBackground();
 }
 
 QSize VideoWidget::sizeHint() const
@@ -111,10 +117,7 @@ void *VideoWidget::Request( vout_thread_t *p_nvout, int *pi_x, int *pi_y,
     }
     p_vout = p_nvout;
 
-    if( always )
-        CleanBackground();
-
-    setMinimumSize( 1,1 );
+   setMinimumSize( 1,1 );
     p_intf->p_sys->p_mi->videoSize = QSize( *pi_width, *pi_height );
     updateGeometry();
     need_update = true;
@@ -126,6 +129,14 @@ static void DoRelease( intf_thread_t *p_intf, void *p_win )
     return p_intf->p_sys->p_video->Release( p_win );
 }
 
+void VideoWidget::resizeEvent( QResizeEvent *e )
+{
+    if( e->size().height() < ICON_SIZE -1 )
+        label->setMaximumWidth( e->size().height() );
+    else
+        label->setMaximumWidth( ICON_SIZE );
+}
+
 void VideoWidget::Release( void *p_win )
 {
     p_vout = NULL;
@@ -135,11 +146,6 @@ void VideoWidget::Release( void *p_win )
         updateGeometry();
         need_update = true;
     }
-    else
-    {
-        DrawBackground();
-    }
-
 }
 
 static int DoControl( intf_thread_t *p_intf, void *p_win, int i_q, va_list a )
@@ -149,7 +155,18 @@ static int DoControl( intf_thread_t *p_intf, void *p_win, int i_q, va_list a )
 
 int VideoWidget::DrawBackground()
 {
-    QLabel *label = new QLabel( "VLC Rulez d4 Worldz" );
+    setAutoFillBackground( true );
+    plt =  palette();
+    plt.setColor( QPalette::Active, QPalette::Window , Qt::black );
+    plt.setColor( QPalette::Inactive, QPalette::Window , Qt::black );
+    setPalette( plt );
+
+    backgroundLayout = new QHBoxLayout;
+    label = new QLabel( "" );
+    label->setMaximumHeight( ICON_SIZE );
+    label->setMaximumWidth( ICON_SIZE );
+    label->setScaledContents( true );
+    label->setPixmap( QPixmap( ":/vlc128.png" ) );
     backgroundLayout = new QHBoxLayout;
     backgroundLayout->addWidget( label );
     setLayout( backgroundLayout );
index 0f1ef7002284d6fdede583a1c2cc6aad1086032c..58d1625605a1c57bcfc4ca914618c7d5ff358384 100644 (file)
 #include <vlc/intf.h>
 #include <QWidget>
 #include <QFrame>
+#include <QPalette>
+#include <QResizeEvent>
+#include <QPixmap>
 
+class QLabel;
 class QHBoxLayout;
+class QColor;
 
 class VideoWidget : public QFrame
 {
@@ -47,9 +52,12 @@ public:
     int i_video_height, i_video_width;
     vout_thread_t *p_vout;
 private:
+    virtual void resizeEvent( QResizeEvent *e );
     int DrawBackground();
     int CleanBackground();
     bool always;
+    QPalette plt;
+    QLabel *label;
     QWidget *frame;
     QHBoxLayout *backgroundLayout;
     intf_thread_t *p_intf;
index 9a7906d8f42700b414f54786b12fb7b886e9301c..8c44605c1f18d1cbd0826bf588ca0beed34fbe59 100644 (file)
@@ -7,5 +7,6 @@
   <file>pixmaps/next.png</file>
   <file>pixmaps/volume-low.png</file>
   <file>pixmaps/volume-high.png</file>
+  <file alias="vlc128.png">../../../share/vlc128x128.png</file>
  </qresource>
 </RCC>
index e8999e89d1ddf901f97c20ea53b5e3774ee38b02..e721fd5ecf543517114dd40a61893dbed0e9838c 100644 (file)
@@ -52,6 +52,9 @@ public:
             vlg.setHsv( vlg.hue(), vlg.saturation(), 235  );
             plt.setColor( QPalette::Active, QPalette::Window, vlg );
             plt.setColor( QPalette::Inactive, QPalette::Window, vlg );
+            plt.setColor( QPalette::Inactive, QPalette::Button, vlg );
+            plt.setColor( QPalette::Active, QPalette::Button, vlg );
+            plt.setColor( QPalette::Active, QPalette::Text, Qt::yellow );
             w->setPalette( plt );
         }
 #endif