Commit f7c69bbe authored by Clément Stenac's avatar Clément Stenac

Improved screen for qt-always-video

parent 7ed4cf1b
...@@ -49,6 +49,9 @@ ...@@ -49,6 +49,9 @@
#include <QGridLayout> #include <QGridLayout>
#include <QHeaderView> #include <QHeaderView>
#include <QPalette>
#include <QColor>
#define ITEM_HEIGHT 25 #define ITEM_HEIGHT 25
/********************************************************************* /*********************************************************************
...@@ -331,7 +334,6 @@ PrefsPanel::PrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, ...@@ -331,7 +334,6 @@ PrefsPanel::PrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
module_t *p_module = NULL; module_t *p_module = NULL;
vlc_list_t *p_list = NULL; vlc_list_t *p_list = NULL;
global_layout = new QVBoxLayout(); global_layout = new QVBoxLayout();
if( data->i_type == TYPE_CATEGORY ) if( data->i_type == TYPE_CATEGORY )
{ {
/* TODO */ /* TODO */
......
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
#include "main_interface.hpp" #include "main_interface.hpp"
#include <QHBoxLayout> #include <QHBoxLayout>
#define ICON_SIZE 128
static void *DoRequest( intf_thread_t *, vout_thread_t *, int*,int*, static void *DoRequest( intf_thread_t *, vout_thread_t *, int*,int*,
unsigned int *, unsigned int * ); unsigned int *, unsigned int * );
static void DoRelease( intf_thread_t *, void * ); static void DoRelease( intf_thread_t *, void * );
...@@ -53,8 +55,9 @@ VideoWidget::VideoWidget( intf_thread_t *_p_i, bool _always ) : QFrame( NULL ), ...@@ -53,8 +55,9 @@ VideoWidget::VideoWidget( intf_thread_t *_p_i, bool _always ) : QFrame( NULL ),
SIGNAL( timeout() ), this, SLOT( update() ) ); SIGNAL( timeout() ), this, SLOT( update() ) );
if( always ) if( always )
DrawBackground(); {
DrawBackground();
}
need_update = false; need_update = false;
} }
...@@ -88,6 +91,9 @@ VideoWidget::~VideoWidget() ...@@ -88,6 +91,9 @@ VideoWidget::~VideoWidget()
p_intf->pf_control_window = NULL; p_intf->pf_control_window = NULL;
vlc_mutex_unlock( &lock ); vlc_mutex_unlock( &lock );
vlc_mutex_destroy( &lock ); vlc_mutex_destroy( &lock );
if( always )
CleanBackground();
} }
QSize VideoWidget::sizeHint() const QSize VideoWidget::sizeHint() const
...@@ -111,10 +117,7 @@ void *VideoWidget::Request( vout_thread_t *p_nvout, int *pi_x, int *pi_y, ...@@ -111,10 +117,7 @@ void *VideoWidget::Request( vout_thread_t *p_nvout, int *pi_x, int *pi_y,
} }
p_vout = p_nvout; p_vout = p_nvout;
if( always ) setMinimumSize( 1,1 );
CleanBackground();
setMinimumSize( 1,1 );
p_intf->p_sys->p_mi->videoSize = QSize( *pi_width, *pi_height ); p_intf->p_sys->p_mi->videoSize = QSize( *pi_width, *pi_height );
updateGeometry(); updateGeometry();
need_update = true; need_update = true;
...@@ -126,6 +129,14 @@ static void DoRelease( intf_thread_t *p_intf, void *p_win ) ...@@ -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 ); 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 ) void VideoWidget::Release( void *p_win )
{ {
p_vout = NULL; p_vout = NULL;
...@@ -135,11 +146,6 @@ void VideoWidget::Release( void *p_win ) ...@@ -135,11 +146,6 @@ void VideoWidget::Release( void *p_win )
updateGeometry(); updateGeometry();
need_update = true; need_update = true;
} }
else
{
DrawBackground();
}
} }
static int DoControl( intf_thread_t *p_intf, void *p_win, int i_q, va_list a ) 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 ) ...@@ -149,7 +155,18 @@ static int DoControl( intf_thread_t *p_intf, void *p_win, int i_q, va_list a )
int VideoWidget::DrawBackground() 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 = new QHBoxLayout;
backgroundLayout->addWidget( label ); backgroundLayout->addWidget( label );
setLayout( backgroundLayout ); setLayout( backgroundLayout );
......
...@@ -28,8 +28,13 @@ ...@@ -28,8 +28,13 @@
#include <vlc/intf.h> #include <vlc/intf.h>
#include <QWidget> #include <QWidget>
#include <QFrame> #include <QFrame>
#include <QPalette>
#include <QResizeEvent>
#include <QPixmap>
class QLabel;
class QHBoxLayout; class QHBoxLayout;
class QColor;
class VideoWidget : public QFrame class VideoWidget : public QFrame
{ {
...@@ -47,9 +52,12 @@ public: ...@@ -47,9 +52,12 @@ public:
int i_video_height, i_video_width; int i_video_height, i_video_width;
vout_thread_t *p_vout; vout_thread_t *p_vout;
private: private:
virtual void resizeEvent( QResizeEvent *e );
int DrawBackground(); int DrawBackground();
int CleanBackground(); int CleanBackground();
bool always; bool always;
QPalette plt;
QLabel *label;
QWidget *frame; QWidget *frame;
QHBoxLayout *backgroundLayout; QHBoxLayout *backgroundLayout;
intf_thread_t *p_intf; intf_thread_t *p_intf;
......
...@@ -7,5 +7,6 @@ ...@@ -7,5 +7,6 @@
<file>pixmaps/next.png</file> <file>pixmaps/next.png</file>
<file>pixmaps/volume-low.png</file> <file>pixmaps/volume-low.png</file>
<file>pixmaps/volume-high.png</file> <file>pixmaps/volume-high.png</file>
<file alias="vlc128.png">../../../share/vlc128x128.png</file>
</qresource> </qresource>
</RCC> </RCC>
...@@ -52,6 +52,9 @@ public: ...@@ -52,6 +52,9 @@ public:
vlg.setHsv( vlg.hue(), vlg.saturation(), 235 ); vlg.setHsv( vlg.hue(), vlg.saturation(), 235 );
plt.setColor( QPalette::Active, QPalette::Window, vlg ); plt.setColor( QPalette::Active, QPalette::Window, vlg );
plt.setColor( QPalette::Inactive, 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 ); w->setPalette( plt );
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment