X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fmain_interface.hpp;h=b4d25f3ebbeaa92ebc28d1a61d013cd2290dff31;hb=6fa897afdd9799155c76e3fd4812e5304a51d766;hp=972ba359c79dd5f50f7cba85d8f4058d3de88fbb;hpb=5f8020dad16c760801c8324119f5217db054427f;p=vlc diff --git a/modules/gui/qt4/main_interface.hpp b/modules/gui/qt4/main_interface.hpp index 972ba359c7..b4d25f3ebb 100644 --- a/modules/gui/qt4/main_interface.hpp +++ b/modules/gui/qt4/main_interface.hpp @@ -45,10 +45,12 @@ class PlaylistWidget; class VisualSelector; class AdvControlsWidget; class ControlsWidget; +class FullscreenControllerWidget; class SpeedControlWidget; class QMenu; class QSize; -class QDockWidet; +//class QDockWidet; +class QProgressBar; enum{ CONTROLS_HIDDEN = 0x0, @@ -59,19 +61,31 @@ enum{ class MainInterface : public QVLCMW { Q_OBJECT; + + friend class VolumeClickHandler; + friend class InteractionDialog; + public: MainInterface( intf_thread_t *); virtual ~MainInterface(); + /* Video requests from core */ void *requestVideo( vout_thread_t *p_nvout, int *pi_x, int *pi_y, unsigned int *pi_width, unsigned int *pi_height ); - void releaseVideo( void * ); + void releaseVideo( vout_thread_t *, void * ); int controlVideo( void *p_window, int i_query, va_list args ); + void requestLayoutUpdate(); + + /* Getters */ QSystemTrayIcon *getSysTray() { return sysTray; }; QMenu *getSysTrayMenu() { return systrayMenu; }; int getControlsVisibilityStatus(); + +#if 0 /* Sizehint() */ + QSize sizeHint() const; +#endif protected: // void resizeEvent( QResizeEvent * ); void dropEvent( QDropEvent *); @@ -80,46 +94,47 @@ protected: void dragLeaveEvent( QDragLeaveEvent * ); void closeEvent( QCloseEvent *); - friend class VolumeClickHandler; private: QSettings *settings; - QSize mainSize, addSize; QSystemTrayIcon *sysTray; QMenu *systrayMenu; QString input_name; QVBoxLayout *mainLayout; ControlsWidget *controls; - QMenu *speedControlMenu; + FullscreenControllerWidget *fullscreenControls; + QMenu *speedControlMenu; SpeedControlWidget *speedControl; - - bool need_components_update; + QProgressBar *pgBar; void handleMainUi( QSettings* ); + void askForPrivacy(); + int privacyDialog( QList controls ); + + /* Systray */ void handleSystray(); - void doComponentsUpdate(); void createSystray(); - void privacyDialog( QList controls ); + + void createStatusBar(); + void initSystray(); /* Video */ VideoWidget *videoWidget; - virtual void keyPressEvent( QKeyEvent *); - virtual void wheelEvent( QWheelEvent * ); - - bool embeddedPlaylistWasActive; - bool videoIsActive; - QSize savedVideoSize; + // QSize savedVideoSize; BackgroundWidget *bgWidget; VisualSelector *visualSelector; PlaylistWidget *playlistWidget; - QDockWidget *dockPL; +// QDockWidget *dockPL; - bool videoEmbeddedFlag; - bool alwaysVideoFlag; + bool videoIsActive; ///< Having a video now / THEMIM->hasV + bool videoEmbeddedFlag; ///< Want an external Video Window + bool playlistVisible; ///< Is the playlist visible ? bool visualSelectorEnabled; - bool notificationEnabled; + bool notificationEnabled; /// Systray Notifications + bool b_remainingTime; /* Show elapsed or remaining time */ + bool bgWasVisible; + int i_visualmode; ///< Visual Mode - InputManager *main_input_manager; input_thread_t *p_input; ///< Main input associated to the playlist /* Status Bar */ @@ -127,15 +142,17 @@ private: QLabel *speedLabel; QLabel *nameLabel; - bool b_remainingTime; /* showing elapsed or remaining time */ + virtual void customEvent( QEvent *); + virtual void keyPressEvent( QKeyEvent *); + virtual void wheelEvent( QWheelEvent * ); - void customEvent( QEvent *); public slots: void undockPlaylist(); void toggleMinimalView(); void togglePlaylist(); void toggleUpdateSystrayMenu(); void toggleAdvanced(); + void toggleFullScreen(); /* Manage the Video Functions from the vout threads */ void releaseVideoSlot( void * ); @@ -143,7 +160,7 @@ public slots: private slots: void debug(); void updateOnTimer(); - + void doComponentsUpdate(); void setStatus( int ); void setRate( int ); void setName( QString ); @@ -159,8 +176,10 @@ private slots: void showSpeedMenu( QPoint ); signals: void askReleaseVideo( void * ); + void askVideoToResize( unsigned int, unsigned int ); void askVideoToToggle(); void askBgWidgetToToggle(); + void askUpdate(); }; #endif