- friend class MainInterface;
- friend class VolumeClickHandler;
-protected:
- intf_thread_t *p_intf;
- QWidget *discFrame;
- QWidget *telexFrame;
- QGridLayout *controlLayout;
- InputSlider *slider;
- QPushButton *prevSectionButton, *nextSectionButton, *menuButton;
- QPushButton *playButton, *fullscreenButton, *extSettingsButton;
- QPushButton *telexTransparent;
- QSpinBox *telexPage;
- QToolButton *slowerButton, *fasterButton;
- QHBoxLayout *controlButLayout;
- AdvControlsWidget *advControls;
- QLabel *volMuteLabel;
- QAbstractSlider *volumeSlider;
- VolumeClickHandler *hVolLabel;
-
- bool b_advancedVisible;
- bool b_telexTransparent;
- bool b_telexEnabled;
-protected slots:
- void play();
- void stop();
- void prev();
- void next();
- void updateVolume( int );
- void updateVolume( void );
- void updateInput();
- void fullscreen();
- void extSettings();
- void faster();
- void slower();
- void toggleAdvanced();
- void toggleTeletext();
- void toggleTeletextTransparency();
-signals:
- void advancedControlsToggled( bool );
-};
-
-/***********************************
- * 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
-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();
-
-protected:
- friend class MainInterface;
- friend class VolumeClickHandler;
-
- virtual void mouseMoveEvent( QMouseEvent *event );
- virtual void mousePressEvent( QMouseEvent *event );
- virtual void enterEvent( QEvent *event );
- virtual void leaveEvent( QEvent *event );
- virtual void keyPressEvent( QKeyEvent *event );
-
-private slots:
- void hideFSControllerWidget();
- 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;
-
-#ifdef WIN32TRICK
- bool fscHidden;
-#endif
-
- virtual void customEvent( QEvent *event );
-};
-
-
-
-class VolumeClickHandler : public QObject
-{
-public:
- VolumeClickHandler( intf_thread_t *_p_intf, ControlsWidget *_m ) :QObject(_m)
- {m = _m; p_intf = _p_intf; }
- virtual ~VolumeClickHandler() {};
- bool eventFilter( QObject *obj, QEvent *e )