]> git.sesse.net Git - vlc/commitdiff
HACK for minimalView to go around a Qt bug/feature
authorJean-Baptiste Kempf <jb@videolan.org>
Sat, 26 Jul 2008 04:20:59 +0000 (21:20 -0700)
committerJean-Baptiste Kempf <jb@videolan.org>
Sat, 26 Jul 2008 04:20:59 +0000 (21:20 -0700)
that doesn't update the QAction checked state when QMenu is hidden

Fix #1742

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

index bc1321b463d225d510c166f0cb314e9f1926ffc8..16f79f524740f783c9d0ec119d5897cdf8d3eabe 100644 (file)
@@ -796,6 +796,8 @@ void MainInterface::undockPlaylist()
 
 void MainInterface::toggleMinimalView()
 {
+    /* HACK for minimalView, see menus.cpp */
+    if( !menuBar()->isVisible() ) QVLCMenu::minimalViewAction->toggle();
     TOGGLEV( menuBar() );
     TOGGLEV( controls );
     TOGGLEV( statusBar() );
index 8b547c7c872a0483994979277545cb8c9e96cd48..dd75e45afe11d63f20f454842aba5b95d10d1969 100644 (file)
@@ -72,6 +72,10 @@ enum
 
 static QActionGroup *currentGroup;
 
+/* HACK for minimalView to go around a Qt bug/feature
+ * that doesn't update the QAction checked state when QMenu is hidden */
+QAction *QVLCMenu::minimalViewAction = NULL;
+
 // Add static entries to menus
 void addDPStaticEntry( QMenu *menu,
                        const QString text,
@@ -376,6 +380,7 @@ QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf,
         action->setCheckable( true );
         if( mi->getControlsVisibilityStatus() & CONTROLS_VISIBLE )
             action->setChecked( true );
+        minimalViewAction = action; /* HACK for minimalView */
 
         /* FullScreen View */
         action = menu->addAction( qtr( "Fullscreen Interface" ), mi,
index 0120dedff8ccaf7acb6a74a651422e1473e544e0..d1f8f5d366e9ad5e3d735dc7f8b93b437347aff0 100644 (file)
@@ -28,6 +28,7 @@
 #include "qt4.hpp"
 
 #include <QObject>
+#include <QAction>
 #include <vector>
 
 /* Folder vs. Directory */
@@ -100,6 +101,9 @@ public:
 
     /* Actions */
     static void DoAction( intf_thread_t *, QObject * );
+
+    /* HACK for minimalView */
+    static QAction *minimalViewAction;
 private:
     /* Generic automenu methods */
     static QMenu * Populate( intf_thread_t *, QMenu *current,