+ virtual void resizeEvent( QResizeEvent * event );
+public slots:
+ void toggle(){ TOGGLEV( this ); }
+ void updateArt( QString );
+};
+
+#if 0
+class VisualSelector : public QFrame
+{
+ Q_OBJECT
+public:
+ VisualSelector( intf_thread_t *);
+ virtual ~VisualSelector();
+private:
+ intf_thread_t *p_intf;
+ QLabel *current;
+private slots:
+ void prev();
+ void next();
+};
+#endif
+
+/* Advanced Button Bar */
+class QPushButton;
+class AdvControlsWidget : public QFrame
+{
+ Q_OBJECT
+public:
+ AdvControlsWidget( intf_thread_t *);
+ virtual ~AdvControlsWidget();
+
+ void enableInput( bool );
+ void enableVideo( bool );
+
+private:
+ intf_thread_t *p_intf;
+ QPushButton *recordButton, *ABButton;
+ QPushButton *snapshotButton, *frameButton;
+
+ mtime_t timeA, timeB;
+
+private slots:
+ void snapshot();
+#if 0
+ void frame();
+#endif
+ void fromAtoB();
+ void record();
+ void AtoBLoop( float, int, int );
+};
+
+/* Button Bar */
+class InputSlider;
+class QSlider;
+class QGridLayout;
+class VolumeClickHandler;
+class SoundSlider;
+class QAbstractSlider;
+class QToolButton;
+
+class ControlsWidget : public QFrame
+{
+ Q_OBJECT
+public:
+ /* p_intf, advanced control visible or not, blingbling or not */
+ ControlsWidget( intf_thread_t *_p_i, MainInterface *_p_mi,
+ bool b_advControls, bool b_shiny, bool b_fsCreation = false);
+ virtual ~ControlsWidget();
+
+ QPushButton *playlistButton;
+ void setStatus( int );
+ void enableInput( bool );
+ void enableVideo( bool );
+public slots:
+ void setNavigation( int );
+protected:
+ 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, *telexOn;
+ 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();
+ void enableTeletext( bool );
+signals:
+ void advancedControlsToggled( bool );
+};
+
+/***********************************
+ * Fullscreen controller
+ ***********************************/
+class FullscreenControllerWidget : public ControlsWidget
+{
+ Q_OBJECT
+public:
+ FullscreenControllerWidget( intf_thread_t *, MainInterface*, bool, bool );
+ virtual ~FullscreenControllerWidget();
+
+ /* */
+ void attachVout( vout_thread_t *p_vout );
+ void detachVout();
+ void fullscreenChanged( vout_thread_t *, bool b_fs, int i_timeout );
+
+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 );
+