#include <QWidget>
#include <QFrame>
-#include <QMutex>
-#include <QWaitCondition>
#define VOLUME_MAX 200
virtual QSize sizeHint() const;
private:
intf_thread_t *p_intf;
- vout_thread_t *p_vout;
+ int i_vout;
- vlc_mutex_t lock;
QSize videoSize;
- QMutex handleLock;
- QWaitCondition handleWait;
- bool handleReady;
signals:
- void askVideoWidgetToShow();
- //void askResize();
+ void askVideoWidgetToShow( unsigned int, unsigned int );
public slots:
void SetSizing( unsigned int, unsigned int );
protected:
+ virtual QPaintEngine *paintEngine() const
+ {
+ return NULL;
+ }
+
virtual void paintEvent(QPaintEvent *);
};
void updateArt( QString );
};
+#if 0
class VisualSelector : public QFrame
{
Q_OBJECT
void prev();
void next();
};
+#endif
/* Advanced Button Bar */
class QPushButton;
InputSlider *slider;
QPushButton *prevSectionButton, *nextSectionButton, *menuButton;
QPushButton *playButton, *fullscreenButton, *extSettingsButton;
- QPushButton *telexTransparent;
+ QPushButton *telexTransparent, *telexOn;
QSpinBox *telexPage;
QToolButton *slowerButton, *fasterButton;
QHBoxLayout *controlButLayout;
void toggleAdvanced();
void toggleTeletext();
void toggleTeletextTransparency();
+ void enableTeletext( bool );
signals:
void advancedControlsToggled( bool );
};
/***********************************
* Fullscreen controller
***********************************/
-
-static int showFullscreenControllCallback(vlc_object_t *vlc_object, const char *variable, vlc_value_t old_val,
- vlc_value_t new_val, void *data);
-
-static int regMouseMoveCallback(vlc_object_t *vlc_object, const char *variable, vlc_value_t old_val,
- vlc_value_t new_val, void *data);
-
class FullscreenControllerWidget : public ControlsWidget
{
Q_OBJECT
FullscreenControllerWidget( intf_thread_t *, MainInterface*, bool, bool );
virtual ~FullscreenControllerWidget();
- void SetHideTimeout( int hideTimeout ) { i_hideTimeout = hideTimeout; }
- void regFullscreenCallback( vout_thread_t *p_vout );
-
- bool isFSCHidden();
-
-public slots:
- void unregFullscreenCallback();
+ /* */
+ void attachVout( vout_thread_t *p_vout );
+ void detachVout( vout_thread_t *p_vout );
+ void fullscreenChanged( vout_thread_t *, bool b_fs, int i_timeout );
protected:
friend class MainInterface;
virtual void keyPressEvent( QKeyEvent *event );
private slots:
- void hideFSControllerWidget();
+ void showFSC();
+ void planHideFSC();
+ void hideFSC();
+
void slowHideFSC();
+
private:
QTimer *p_hideTimer;
-
#if HAVE_TRANSPARENCY
QTimer *p_slowHideTimer;
#endif
- int i_lastPosX;
- int i_lastPosY;
- int i_hideTimeout; /* FSC hiding timeout, same as mouse hiding timeout */
- bool b_mouseIsOver;
+ int i_mouse_last_x;
+ int i_mouse_last_y;
+
+ bool b_mouse_over;
+
+ bool b_slow_hide_begin;
+ int i_slow_hide_timeout;
#ifdef WIN32TRICK
bool fscHidden;
#endif
virtual void customEvent( QEvent *event );
+
+ /* Shared variable between FSC and VLC (protected by a lock) */
+ vlc_mutex_t lock;
+ bool b_fullscreen;
+ int i_hide_timeout; /* FSC hiding timeout, same as mouse hiding timeout */
};