From: Jean-Baptiste Kempf Date: Sat, 26 Jul 2008 04:20:59 +0000 (-0700) Subject: HACK for minimalView to go around a Qt bug/feature X-Git-Tag: 0.9.0-test3~253 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=4917bfb899bf9d93ec1efb737980b2eb69f3125f;p=vlc HACK for minimalView to go around a Qt bug/feature that doesn't update the QAction checked state when QMenu is hidden Fix #1742 --- diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp index bc1321b463..16f79f5247 100644 --- a/modules/gui/qt4/main_interface.cpp +++ b/modules/gui/qt4/main_interface.cpp @@ -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() ); diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp index 8b547c7c87..dd75e45afe 100644 --- a/modules/gui/qt4/menus.cpp +++ b/modules/gui/qt4/menus.cpp @@ -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, diff --git a/modules/gui/qt4/menus.hpp b/modules/gui/qt4/menus.hpp index 0120dedff8..d1f8f5d366 100644 --- a/modules/gui/qt4/menus.hpp +++ b/modules/gui/qt4/menus.hpp @@ -28,6 +28,7 @@ #include "qt4.hpp" #include +#include #include /* 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,