#ifndef _INTFWIDGETS_H_
#define _INTFWIDGETS_H_
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <vlc/vlc.h>
#include <vlc_interface.h>
-
#include <vlc_aout.h>
+
#include "qt4.hpp"
+#include "main_interface.hpp"
+#include "input_manager.hpp"
#include <QWidget>
#include <QFrame>
class VideoWidget : public QFrame
{
Q_OBJECT
+friend class MainInterface;
+
public:
VideoWidget( intf_thread_t * );
virtual ~VideoWidget();
void *request( vout_thread_t *, int *, int *,
unsigned int *, unsigned int * );
- void release( void * );
- int control( void *, int, va_list );
-
- int i_video_height, i_video_width;
- vout_thread_t *p_vout;
+ void release( void * );
+ int control( void *, int, va_list );
- QSize widgetSize;
virtual QSize sizeHint() const;
private:
- QWidget *frame;
intf_thread_t *p_intf;
+ vout_thread_t *p_vout;
+
vlc_mutex_t lock;
+ QSize videoSize;
+
signals:
- void askResize();
- void askVideoToShow();
-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 );
virtual void contextMenuEvent( QContextMenuEvent *event );
- int DrawBackground();
- int CleanBackground();
intf_thread_t *p_intf;
+ virtual void resizeEvent( QResizeEvent * event );
public slots:
- void setArt( QString );
void toggle(){ TOGGLEV( this ); }
+ void updateArt( QString );
};
class VisualSelector : public QFrame
private slots:
void snapshot();
+#if 0
void frame();
+#endif
void fromAtoB();
void record();
void AtoBLoop( float, int, int );
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;
- SoundSlider *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 faster();
void timeLabelDoubleClicked();
};
-
-/******************** Playlist Widgets ****************/
-#include <QModelIndex>
-#include <QSplitter>
-class QSignalMapper;
-class PLSelector;
-class PLPanel;
-class QPushButton;
-
-class PlaylistWidget : public QSplitter
+class SpeedLabel : public QLabel
{
- Q_OBJECT;
+ Q_OBJECT
public:
- PlaylistWidget( intf_thread_t *_p_i ) ;
- virtual ~PlaylistWidget();
-private:
- PLSelector *selector;
- PLPanel *rightPanel;
- QPushButton *addButton;
- QLabel *art;
- QString prevArt;
+ SpeedLabel( intf_thread_t *_p_intf, const QString text ): QLabel( text)
+ { p_intf = _p_intf; }
+
protected:
- intf_thread_t *p_intf;
-private slots:
- void setArt( QString );
-signals:
- void rootChanged( int );
- void artSet( QString );
+ virtual void mouseDoubleClickEvent ( QMouseEvent * event )
+ {
+ THEMIM->getIM()->setRate( INPUT_RATE_DEFAULT );
+ }
+private:
+ intf_thread_t *p_intf;
};
-
/******************** Speed Control Widgets ****************/
class SpeedControlWidget : public QFrame
{
private:
intf_thread_t *p_intf;
QSlider *speedSlider;
- QPushButton *normalSpeedButton;
+public slots:
+ void setEnable( bool );
private slots:
void updateRate( int );
void resetRate();