+public slots:
+ void setArt( QString );
+ void toggle(){ TOGGLEV( this ); }
+};
+
+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();
+};
+
+/* 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;
+
+private slots:
+ void snapshot();
+ void frame();
+ void fromAtoB();
+ void record();
+};
+
+/* Button Bar */
+class InputSlider;
+class QSlider;
+class QGridLayout;
+class VolumeClickHandler;
+class ControlsWidget : public QFrame
+{
+ Q_OBJECT
+public:
+ ControlsWidget( intf_thread_t *, bool );
+ virtual ~ControlsWidget();
+
+ QPushButton *playlistButton;
+ QSlider *volumeSlider;
+ void setStatus( int );
+ void enableInput( bool );
+ void enableVideo( bool );
+public slots:
+ void setNavigation( int );
+ void updateOnTimer();
+protected:
+ friend class MainInterface;
+ friend class VolumeClickHandler;
+private:
+ intf_thread_t *p_intf;
+ QFrame *discFrame;
+ QGridLayout *controlLayout;
+ InputSlider *slider;
+ QPushButton *prevSectionButton, *nextSectionButton, *menuButton;
+ QPushButton *playButton, *fullscreenButton;
+ QPushButton *slowerButton, *fasterButton;
+ AdvControlsWidget *advControls;
+ QLabel *volMuteLabel;
+
+ bool b_advancedVisible;