#ifndef _INTFWIDGETS_H_
#define _INTFWIDGETS_H_
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <vlc/vlc.h>
#include <vlc_interface.h>
void *request( vout_thread_t *, int *, int *,
unsigned int *, unsigned int * );
- void release( void * );
- int control( void *, int, va_list );
+ void release( void * );
+ int control( void *, int, va_list );
- int i_video_height, i_video_width;
- vout_thread_t *p_vout;
-
- QSize widgetSize;
- virtual QSize sizeHint() const;
private:
- QWidget *frame;
intf_thread_t *p_intf;
+ vout_thread_t *p_vout;
+
vlc_mutex_t lock;
+
signals:
- void askResize();
-private slots:
- void SetMinSize();
+ void askVideoWidgetToShow();
+ //void askResize();
+
+public slots:
+ void SetSizing( unsigned int, unsigned int );
};
/******************** Background Widget ****************/
-class BackgroundWidget : public QFrame
+class BackgroundWidget : public QWidget
{
Q_OBJECT
public:
BackgroundWidget( intf_thread_t * );
virtual ~BackgroundWidget();
- QSize widgetSize;
- virtual QSize sizeHint() const;
+
private:
QPalette plt;
QLabel *label;
- QHBoxLayout *backgroundLayout;
- virtual void resizeEvent( QResizeEvent *e );
- int DrawBackground();
- int CleanBackground();
+ virtual void contextMenuEvent( QContextMenuEvent *event );
intf_thread_t *p_intf;
-private slots:
- void setArt( QString );
+
+public slots:
+ void toggle(){ TOGGLEV( this ); }
+ void update( QString );
};
class VisualSelector : public QFrame
void next();
};
+/* Advanced Button Bar */
class QPushButton;
class AdvControlsWidget : public QFrame
{
public:
AdvControlsWidget( intf_thread_t *);
virtual ~AdvControlsWidget();
+
void enableInput( bool );
void enableVideo( bool );
+
private:
intf_thread_t *p_intf;
- QPushButton *normalButton, *recordButton, *ABButton;
+ QPushButton *recordButton, *ABButton;
QPushButton *snapshotButton, *frameButton;
+
+ mtime_t timeA, timeB;
+
private slots:
- void normal();
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:
- ControlsWidget( intf_thread_t *, bool );
+ /* p_intf, advanced control visible or not, blingbling or not */
+ ControlsWidget( intf_thread_t *, MainInterface*, bool, 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;
+ QWidget *discFrame;
+ QWidget *telexFrame;
QGridLayout *controlLayout;
InputSlider *slider;
QPushButton *prevSectionButton, *nextSectionButton, *menuButton;
QPushButton *playButton, *fullscreenButton;
- QPushButton *slowerButton, *fasterButton;
+ QToolButton *slowerButton, *fasterButton;
AdvControlsWidget *advControls;
QLabel *volMuteLabel;
+ QAbstractSlider *volumeSlider;
bool b_advancedVisible;
private slots:
void prev();
void next();
void updateVolume( int );
+ void updateVolume( void );
+ void updateInput();
void fullscreen();
void extSettings();
- void prefs();
void faster();
void slower();
void toggleAdvanced();
Q_OBJECT
void mousePressEvent( QMouseEvent *event )
{
- if( event->button() == Qt::LeftButton ) emit timeLabelClicked();
+ emit timeLabelClicked();
+ }
+ void mouseDoubleClickEvent( QMouseEvent *event )
+ {
+ emit timeLabelDoubleClicked();
}
signals:
void timeLabelClicked();
-};
-
-/******************** Playlist Widgets ****************/
-#include <QModelIndex>
-#include <QSplitter>
-class QSignalMapper;
-class PLSelector;
-class PLPanel;
-class QPushButton;
-
-class PlaylistWidget : public QSplitter
-{
- Q_OBJECT;
-public:
- PlaylistWidget( intf_thread_t *_p_i ) ;
- virtual ~PlaylistWidget();
- QSize widgetSize;
- virtual QSize sizeHint() const;
-private:
- PLSelector *selector;
- PLPanel *rightPanel;
- QPushButton *addButton;
- QLabel *art;
- QString prevArt;
-protected:
- intf_thread_t *p_intf;
-private slots:
- void setArt( QString );
-signals:
- void rootChanged( int );
- void artSet( QString );
+ void timeLabelDoubleClicked();
};
private:
intf_thread_t *p_intf;
QSlider *speedSlider;
- QPushButton *normalSpeedButton;
private slots:
void updateRate( int );
void resetRate();
};
-
#endif