#define _INTFWIDGETS_H_
#include <vlc/vlc.h>
-#include <vlc/intf.h>
+#include <vlc_interface.h>
+
+#include "qt4.hpp"
+
#include <QWidget>
#include <QFrame>
#include <QPalette>
class QLabel;
class QHBoxLayout;
-class QColor;
+/******************** Video Widget ****************/
class VideoWidget : public QFrame
{
Q_OBJECT
VideoWidget( intf_thread_t * );
virtual ~VideoWidget();
- virtual QSize sizeHint() const;
-
- void *Request( vout_thread_t *, int *, int *,
+ 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;
vlc_mutex_t lock;
-private slots:
- void update();
};
+/******************** Background Widget ****************/
class BackgroundWidget : public QFrame
{
Q_OBJECT
public:
BackgroundWidget( intf_thread_t * );
virtual ~BackgroundWidget();
+ QSize widgetSize;
+ virtual QSize sizeHint() const;
private:
QPalette plt;
QLabel *label;
int DrawBackground();
int CleanBackground();
intf_thread_t *p_intf;
+};
+
+class VisualSelector : public QFrame
+{
+ Q_OBJECT
+public:
+ VisualSelector( intf_thread_t *);
+ virtual ~VisualSelector();
+private:
+ intf_thread_t *p_intf;
+ QLabel *current;
private slots:
- void hasAudio();
- void hasVideo();
+ void prev();
+ void next();
};
+class QPushButton;
+class ControlsWidget : public QFrame
+{
+ Q_OBJECT
+public:
+ ControlsWidget( intf_thread_t *);
+ virtual ~ControlsWidget();
+ void enableInput( bool );
+ void enableVideo( bool );
+private:
+ intf_thread_t *p_intf;
+ QPushButton *slowerButton, *normalButton, *fasterButton;
+ QPushButton *fullscreenButton, *snapshotButton;
+private slots:
+ void faster();
+ void slower();
+ void normal();
+ void snapshot();
+ void fullscreen();
+};
+/******************** Playlist Widgets ****************/
+#include <QModelIndex>
+class QSignalMapper;
+class PLSelector;
+class PLPanel;
+class QPushButton;
+class PlaylistWidget : public BasePlaylistWidget
+{
+ Q_OBJECT;
+public:
+ PlaylistWidget( intf_thread_t * );
+ virtual ~PlaylistWidget();
+ QSize widgetSize;
+ virtual QSize sizeHint() const;
+private:
+ PLSelector *selector;
+ PLPanel *rightPanel;
+ QPushButton *addButton;
+ QLabel *art;
+ QString prevArt;
+private slots:
+ void setArt( QString );
+signals:
+ void rootChanged( int );
+};
#endif