]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/main_interface.hpp
vlc.desktop: add missing --started-from-file option (fixes #8839)
[vlc] / modules / gui / qt4 / main_interface.hpp
index 4f7304e81ef08bd41715029548e0ac0ee0e589f2..bb413fcb08c559f8f81caf68a1e38bc6e88e379c 100644 (file)
@@ -29,7 +29,7 @@
 
 #include "util/qvlcframe.hpp"
 
-#ifdef WIN32
+#ifdef _WIN32
  #include <vlc_windows_interfaces.h>
 #endif
 
@@ -54,13 +54,7 @@ class SpeedControlWidget;
 class QVBoxLayout;
 class QMenu;
 class QSize;
-
-enum {
-    CONTROLS_VISIBLE  = 0x1,
-    CONTROLS_HIDDEN   = 0x2,
-    CONTROLS_ADVANCED = 0x4,
-};
-
+class StandardPLPanel;
 
 class MainInterface : public QVLCMW
 {
@@ -73,6 +67,8 @@ public:
     MainInterface( intf_thread_t *);
     virtual ~MainInterface();
 
+    static const QEvent::Type ToolbarsNeedRebuild;
+
     /* Video requests from core */
     WId  getVideo( int *pi_x, int *pi_y,
                   unsigned int *pi_width, unsigned int *pi_height );
@@ -80,19 +76,27 @@ public:
     int  controlVideo( int i_query, va_list args );
 
     /* Getters */
-#ifndef HAVE_MAEMO
     QSystemTrayIcon *getSysTray() { return sysTray; }
     QMenu *getSysTrayMenu() { return systrayMenu; }
-#endif
+    FullscreenControllerWidget* getFullscreenControllerWidget() { return fullscreenControls; }
+    enum
+    {
+        CONTROLS_VISIBLE  = 0x1,
+        CONTROLS_HIDDEN   = 0x2,
+        CONTROLS_ADVANCED = 0x4,
+    };
     int getControlsVisibilityStatus();
     bool isPlDocked() { return ( b_plDocked != false ); }
     bool isInterfaceFullScreen() { return b_interfaceFullScreen; }
+    StandardPLPanel* getPlaylistView();
 
 protected:
-    void dropEventPlay( QDropEvent *, bool);
-#ifdef WIN32
+    void dropEventPlay( QDropEvent* event, bool b_play ) { dropEventPlay(event, b_play, true); }
+    void dropEventPlay( QDropEvent *, bool, bool );
+#ifdef _WIN32
     virtual bool winEvent( MSG *, long * );
 #endif
+    virtual void changeEvent( QEvent * );
     virtual void dropEvent( QDropEvent *);
     virtual void dragEnterEvent( QDragEnterEvent * );
     virtual void dragMoveEvent( QDragMoveEvent * );
@@ -100,6 +104,7 @@ protected:
     virtual void closeEvent( QCloseEvent *);
     virtual void keyPressEvent( QKeyEvent *);
     virtual void wheelEvent( QWheelEvent * );
+    virtual bool eventFilter(QObject *, QEvent *);
 
 private:
     /* Main Widgets Creation */
@@ -124,10 +129,8 @@ private:
 
     /* */
     QSettings           *settings;
-#ifndef HAVE_MAEMO
     QSystemTrayIcon     *sysTray;
     QMenu               *systrayMenu;
-#endif
 
     QString              input_name;
     QVBoxLayout         *mainLayout;
@@ -153,14 +156,14 @@ private:
     QMap<QWidget *, QSize> stackWidgetsSizes;
 
     /* Flags */
-    bool                 b_notificationEnabled; /// Systray Notifications
+    unsigned             i_notificationSetting; /// Systray Notifications
     bool                 b_autoresize;          ///< persistent resizable window
     bool                 b_videoEmbedded;       ///< Want an external Video Window
     bool                 b_videoFullScreen;     ///< --fullscreen
-    bool                 b_videoOnTop;          ///< --video-on-top
     bool                 b_hideAfterCreation;
     bool                 b_minimalView;         ///< Minimal video
     bool                 b_interfaceFullScreen;
+    bool                 b_pauseOnMinimize;
 
     /* States */
     bool                 playlistVisible;       ///< Is the playlist visible ?
@@ -168,35 +171,49 @@ private:
 //    bool                 b_visualSelectorEnabled;
     bool                 b_plDocked;            ///< Is the playlist docked ?
 
+    bool                 b_hasPausedWhenMinimized;
+    bool                 b_statusbarVisible;
 
-#ifdef WIN32
+#ifdef _WIN32
     HIMAGELIST himl;
-    LPTASKBARLIST3 p_taskbl;
+    ITaskbarList3 *p_taskbl;
     UINT taskbar_wmsg;
     void createTaskBarButtons();
 #endif
 
+    static const Qt::Key kc[10]; /* easter eggs */
+    int i_kc_offset;
+
 public slots:
     void dockPlaylist( bool b_docked = true );
     void toggleMinimalView( bool );
     void togglePlaylist();
-#ifndef HAVE_MAEMO
     void toggleUpdateSystrayMenu();
     void showUpdateSystrayMenu();
     void hideUpdateSystrayMenu();
-#endif
     void toggleAdvancedButtons();
     void toggleInterfaceFullScreen();
     void toggleFSC();
 
+    void setStatusBarVisibility(bool b_visible);
+    void setPlaylistVisibility(bool b_visible);
+
     void popupMenu( const QPoint& );
+#ifdef _WIN32
     void changeThumbbarButtons( int );
+#endif
 
     /* Manage the Video Functions from the vout threads */
     void getVideoSlot( WId *p_id, int *pi_x, int *pi_y,
                        unsigned *pi_width, unsigned *pi_height );
     void releaseVideoSlot( void );
 
+    void emitBoss();
+    void emitRaise();
+
+    void reloadPrefs();
+    void toolBarConfUpdated();
+
 private slots:
     void debug();
     void destroyPopupMenu();
@@ -206,11 +223,9 @@ private slots:
 #if 0
     void visual();
 #endif
-#ifndef HAVE_MAEMO
     void handleSystrayClick( QSystemTrayIcon::ActivationReason );
     void updateSystrayTooltipName( const QString& );
     void updateSystrayTooltipStatus( int );
-#endif
     void showCryptedLabel( bool );
 
     void handleKeyPress( QKeyEvent * );
@@ -232,8 +247,11 @@ private slots:
     }
 
     void setVideoSize( unsigned int, unsigned int );
+    void videoSizeChanged( int, int );
     void setVideoFullScreen( bool );
     void setVideoOnTop( bool );
+    void setBoss();
+    void setRaise();
 
 signals:
     void askGetVideo( WId *p_id, int *pi_x, int *pi_y,
@@ -245,7 +263,9 @@ signals:
     void minimalViewToggled( bool );
     void fullscreenInterfaceToggled( bool );
     void askToQuit();
-
+    void askBoss();
+    void askRaise();
+    void kc_pressed(); /* easter eggs */
 };
 
 #endif