]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/main_interface.hpp
Simplifications
[vlc] / modules / gui / qt4 / main_interface.hpp
index 4253fb7b5fdd0008e5eb21fca0765efb7aa7c25d..d1c05003e2b5f6383c062d303c13da7ef6028054 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * main_interface.hpp : Main Interface
  ****************************************************************************
- * Copyright (C) 2006-2007 the VideoLAN team
+ * Copyright (C) 2006-2008 the VideoLAN team
  * $Id$
  *
  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
@@ -45,24 +45,31 @@ class PlaylistWidget;
 class VisualSelector;
 class AdvControlsWidget;
 class ControlsWidget;
+class FullscreenControllerWidget;
 class SpeedControlWidget;
 class QMenu;
 class QSize;
-class QDockWidet;
-class QProgressBar;
 
-enum{
+enum {
     CONTROLS_HIDDEN = 0x0,
     CONTROLS_VISIBLE = 0x1,
     CONTROLS_ADVANCED = 0x2
 };
 
+typedef enum pl_dock_e {
+    PL_UNDOCKED,
+    PL_BOTTOM,
+    PL_RIGHT,
+    PL_LEFT
+} pl_dock_e;
+
 class MainInterface : public QVLCMW
 {
     Q_OBJECT;
 
     friend class VolumeClickHandler;
     friend class InteractionDialog;
+    friend class PlaylistWidget;
 
 public:
     MainInterface( intf_thread_t *);
@@ -85,6 +92,7 @@ public:
 protected:
 //    void resizeEvent( QResizeEvent * );
     void dropEvent( QDropEvent *);
+    void dropEventPlay( QDropEvent *, bool);
     void dragEnterEvent( QDragEnterEvent * );
     void dragMoveEvent( QDragMoveEvent * );
     void dragLeaveEvent( QDragLeaveEvent * );
@@ -97,34 +105,37 @@ private:
     QString              input_name;
     QVBoxLayout         *mainLayout;
     ControlsWidget      *controls;
+    FullscreenControllerWidget *fullscreenControls;
     QMenu               *speedControlMenu;
     SpeedControlWidget  *speedControl;
-    QProgressBar        *pgBar;
 
     void handleMainUi( QSettings* );
-    void privacy();
-    int  privacyDialog( QList<ConfigControl *> controls );
+    void askForPrivacy();
+    int  privacyDialog( QList<ConfigControl *> *controls );
 
     /* Systray */
     void handleSystray();
     void createSystray();
 
+    void createStatusBar();
+    void initSystray();
+
     /* Video */
     VideoWidget         *videoWidget;
-    //    QSize                savedVideoSize;
 
     BackgroundWidget    *bgWidget;
     VisualSelector      *visualSelector;
     PlaylistWidget      *playlistWidget;
-    QDockWidget         *dockPL;
 
     bool                 videoIsActive; ///< Having a video now / THEMIM->hasV
     bool                 videoEmbeddedFlag; ///< Want an external Video Window
     bool                 playlistVisible; ///< Is the playlist visible ?
-    bool                 alwaysVideoFlag; ///< Always show the background
     bool                 visualSelectorEnabled;
     bool                 notificationEnabled; /// Systray Notifications
-    bool                 b_remainingTime; /* showing elapsed or remaining time */
+    bool                 bgWasVisible;
+    int                  i_visualmode; ///< Visual Mode
+    pl_dock_e            i_pl_dock;
+    bool                 isDocked() { return ( i_pl_dock != PL_UNDOCKED ); }
 
     input_thread_t      *p_input;    ///< Main input associated to the playlist
 
@@ -139,25 +150,24 @@ private:
 
 public slots:
     void undockPlaylist();
+    void dockPlaylist( pl_dock_e i_pos = PL_BOTTOM );
     void toggleMinimalView();
     void togglePlaylist();
     void toggleUpdateSystrayMenu();
     void toggleAdvanced();
     void toggleFullScreen();
+    void toggleFSC();
 
     /* Manage the Video Functions from the vout threads */
     void releaseVideoSlot( void * );
 
 private slots:
     void debug();
-    void updateOnTimer();
     void doComponentsUpdate();
     void setStatus( int );
     void setRate( int );
     void setName( QString );
     void setVLCWindowsTitle( QString title = "" );
-    void setDisplayPosition( float, int, int );
-    void toggleTimeDisplay();
 #if 0
     void visual();
 #endif
@@ -165,6 +175,7 @@ private slots:
     void updateSystrayTooltipName( QString );
     void updateSystrayTooltipStatus( int );
     void showSpeedMenu( QPoint );
+    void updateRecentsMenu();
 signals:
     void askReleaseVideo( void * );
     void askVideoToResize( unsigned int, unsigned int );