X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fcomponents%2Finterface_widgets.hpp;h=30613f0443580f9e4ce77457ebc4e72ee3d0477a;hb=bc83685c2acc7181e7f49bc9b4c2ec17655c789c;hp=1c50464c2a8bf10989b416f2a613fc08695fcd85;hpb=6914ba783217992334b90aa2bf3a8e2d8af3e09d;p=vlc diff --git a/modules/gui/qt4/components/interface_widgets.hpp b/modules/gui/qt4/components/interface_widgets.hpp index 1c50464c2a..30613f0443 100644 --- a/modules/gui/qt4/components/interface_widgets.hpp +++ b/modules/gui/qt4/components/interface_widgets.hpp @@ -85,17 +85,23 @@ public: virtual QSize sizeHint() const; private: intf_thread_t *p_intf; - vout_thread_t *p_vout; + int i_vout; - vlc_mutex_t lock; QSize videoSize; signals: - void askVideoWidgetToShow(); - //void askResize(); + void askVideoWidgetToShow( unsigned int, unsigned int ); public slots: void SetSizing( unsigned int, unsigned int ); + +protected: + virtual QPaintEngine *paintEngine() const + { + return NULL; + } + + virtual void paintEvent(QPaintEvent *); }; /******************** Background Widget ****************/ @@ -117,6 +123,7 @@ public slots: void updateArt( QString ); }; +#if 0 class VisualSelector : public QFrame { Q_OBJECT @@ -130,6 +137,7 @@ private slots: void prev(); void next(); }; +#endif /* Advanced Button Bar */ class QPushButton; @@ -195,6 +203,8 @@ protected: InputSlider *slider; QPushButton *prevSectionButton, *nextSectionButton, *menuButton; QPushButton *playButton, *fullscreenButton, *extSettingsButton; + QPushButton *telexTransparent, *telexOn; + QSpinBox *telexPage; QToolButton *slowerButton, *fasterButton; QHBoxLayout *controlButLayout; AdvControlsWidget *advControls; @@ -203,6 +213,8 @@ protected: VolumeClickHandler *hVolLabel; bool b_advancedVisible; + bool b_telexTransparent; + bool b_telexEnabled; protected slots: void play(); void stop(); @@ -216,6 +228,9 @@ protected slots: void faster(); void slower(); void toggleAdvanced(); + void toggleTeletext(); + void toggleTeletextTransparency(); + void enableTeletext( bool ); signals: void advancedControlsToggled( bool ); }; @@ -223,13 +238,6 @@ signals: /*********************************** * Fullscreen controller ***********************************/ - -static int showFullscreenControllCallback(vlc_object_t *vlc_object, const char *variable, vlc_value_t old_val, - vlc_value_t new_val, void *data); - -static int regMouseMoveCallback(vlc_object_t *vlc_object, const char *variable, vlc_value_t old_val, - vlc_value_t new_val, void *data); - class FullscreenControllerWidget : public ControlsWidget { Q_OBJECT @@ -237,13 +245,10 @@ public: FullscreenControllerWidget( intf_thread_t *, MainInterface*, bool, bool ); virtual ~FullscreenControllerWidget(); - void SetHideTimeout( int hideTimeout ) { i_hideTimeout = hideTimeout; } - void regFullscreenCallback( vout_thread_t *p_vout ); - - bool isFSCHidden(); - -public slots: - void unregFullscreenCallback(); + /* */ + void attachVout( vout_thread_t *p_vout ); + void detachVout(); + void fullscreenChanged( vout_thread_t *, bool b_fs, int i_timeout ); protected: friend class MainInterface; @@ -256,26 +261,39 @@ protected: virtual void keyPressEvent( QKeyEvent *event ); private slots: - void hideFSControllerWidget(); + void showFSC(); + void planHideFSC(); + void hideFSC(); + void slowHideFSC(); + private: QTimer *p_hideTimer; - #if HAVE_TRANSPARENCY QTimer *p_slowHideTimer; #endif - int i_lastPosX; - int i_lastPosY; - int i_hideTimeout; /* FSC hiding timeout, same as mouse hiding timeout */ - bool b_mouseIsOver; + int i_mouse_last_x; + int i_mouse_last_y; + + bool b_mouse_over; + + bool b_slow_hide_begin; + int i_slow_hide_timeout; #ifdef WIN32TRICK bool fscHidden; #endif virtual void customEvent( QEvent *event ); + + vout_thread_t *p_vout; + + /* Shared variable between FSC and VLC (protected by a lock) */ + vlc_mutex_t lock; + bool b_fullscreen; + int i_hide_timeout; /* FSC hiding timeout, same as mouse hiding timeout */ };