]> git.sesse.net Git - vlc/commitdiff
Qt: menus, force ViewMenu to run at menuBar creation.
authorJean-Baptiste Kempf <jb@videolan.org>
Sat, 13 Mar 2010 15:06:09 +0000 (16:06 +0100)
committerJean-Baptiste Kempf <jb@videolan.org>
Sat, 13 Mar 2010 15:19:38 +0000 (16:19 +0100)
Fixes #3406

modules/gui/qt4/main_interface.cpp
modules/gui/qt4/menus.cpp
modules/gui/qt4/menus.hpp
modules/gui/qt4/qt4.cpp

index 6c717b4d5ad2ece9de87f681480f700d620671bc..150aff84e79233b029db586f3509b6375c4056a4 100644 (file)
@@ -860,6 +860,9 @@ void MainInterface::dockPlaylist( bool p_docked )
     }
 }
 
+/*
+  If b_switch is false, then we are normalView
+ */
 void MainInterface::toggleMinimalView( bool b_switch )
 {
     if( i_visualmode == 0 )
index 310dcc70046bfbd4a4b3fe12075b00f1652193de..a58a8bc0d111a9549a949fe97e44962188031110 100644 (file)
@@ -295,8 +295,12 @@ void QVLCMenu::createMenuBar( MainInterface *mi,
     BAR_DADD( VideoMenu( p_intf, bar ), qtr( "&Video" ), 2 );
 
     BAR_ADD( ToolsMenu( bar ), qtr( "&Tools" ) );
-    BAR_ADD( ViewMenu( p_intf, bar ), qtr( "V&iew" ) );
+    QMenu *_menu = ViewMenu( p_intf, bar );
+    _menu->setTitle( qtr( "V&iew" ) );
+    bar->addMenu( _menu );
+    ViewMenu( p_intf, _menu, mi );
     BAR_ADD( HelpMenu( bar ), qtr( "&Help" ) );
+
 }
 #undef BAR_ADD
 #undef BAR_DADD
@@ -415,7 +419,7 @@ QMenu *QVLCMenu::ViewMenu( intf_thread_t *p_intf, QWidget* parent )
  * View Menu
  * Interface modification, load other interfaces, activate Extensions
  **/
-QMenu *QVLCMenu::ViewMenu( intf_thread_t *p_intf, QMenu *current )
+QMenu *QVLCMenu::ViewMenu( intf_thread_t *p_intf, QMenu *current, MainInterface *_mi )
 {
     QAction *action;
     QMenu *menu;
@@ -430,7 +434,7 @@ QMenu *QVLCMenu::ViewMenu( intf_thread_t *p_intf, QMenu *current )
         menu->clear();
     }
 
-    MainInterface *mi = p_intf->p_sys->p_mi;
+    MainInterface *mi = _mi ? _mi : p_intf->p_sys->p_mi;
     assert( mi );
 
     menu->addAction( QIcon( ":/menu/playlist_menu" ),
@@ -446,7 +450,7 @@ QMenu *QVLCMenu::ViewMenu( intf_thread_t *p_intf, QMenu *current )
     action = menu->addAction( qtr( "Mi&nimal View" ) );
     action->setShortcut( qtr( "Ctrl+H" ) );
     action->setCheckable( true );
-    action->setChecked( (mi->getControlsVisibilityStatus() & CONTROLS_HIDDEN ) );
+    action->setChecked( !current && (mi->getControlsVisibilityStatus() & CONTROLS_HIDDEN ) );
 
     CONNECT( action, triggered( bool ), mi, toggleMinimalView( bool ) );
     CONNECT( mi, minimalViewToggled( bool ), action, setChecked( bool ) );
index 4ff29ac94edbb720eab4d1a1a1d5206fa62535a4..4a022ce884a9690f141f7cf4d225ab31b6edeea5 100644 (file)
@@ -85,7 +85,7 @@ public:
     static void MiscPopupMenu( intf_thread_t * );
 
     /* Systray */
-    static void updateSystrayMenu( MainInterface *,intf_thread_t  *,
+    static void updateSystrayMenu( MainInterface *, intf_thread_t  *,
                                    bool b_force_visible = false);
 
     /* Actions */
@@ -100,7 +100,7 @@ private:
     static QMenu *ToolsMenu( QWidget * );
 
     static QMenu *ViewMenu( intf_thread_t *, QWidget * );
-    static QMenu *ViewMenu( intf_thread_t *, QMenu * );
+    static QMenu *ViewMenu( intf_thread_t *, QMenu *, MainInterface * mi = NULL );
 
     static QMenu *InterfacesMenu( intf_thread_t *p_intf, QMenu * );
     static void ExtensionsMenu( intf_thread_t *p_intf, QMenu * );
index bfd30abf683a93da342d17118f4323f6ce3a1d3c..d633d8a5d9e7101f9c9afd4136c6419a9fae4a6c 100644 (file)
@@ -448,12 +448,12 @@ static void *Thread( void *obj )
         p_mi = new MainInterface( p_intf );
     else
         p_mi = NULL;
+    p_intf->p_sys->p_mi = p_mi;
 
     /* Explain how to show a dialog :D */
     p_intf->pf_show_dialog = ShowDialog;
 
     /* */
-    p_intf->p_sys->p_mi = p_mi;
     vlc_sem_post (&ready);
 
     /* Last settings */