From: Jean-Philippe Andre Date: Sat, 11 Apr 2009 03:51:46 +0000 (+0800) Subject: Qt: no popup menu over the status bar and menu bar X-Git-Tag: 1.0.0-pre2~114 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=ee95f804cd45fc13ff3da0b754cd1b546b50e9ca;p=vlc Qt: no popup menu over the status bar and menu bar --- diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp index 6a89479392..edfa08b2a7 100644 --- a/modules/gui/qt4/main_interface.cpp +++ b/modules/gui/qt4/main_interface.cpp @@ -246,7 +246,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) /* Enable the popup menu in the MI */ setContextMenuPolicy( Qt::CustomContextMenu ); CONNECT( this, customContextMenuRequested( const QPoint& ), - this, popupMenu() ); + this, popupMenu( const QPoint& ) ); /* Final sizing and showing */ setMinimumWidth( __MAX( controls->sizeHint().width(), @@ -633,9 +633,13 @@ void MainInterface::toggleFSC() QApplication::postEvent( fullscreenControls, eShow ); } -void MainInterface::popupMenu() +void MainInterface::popupMenu( const QPoint &p ) { - QVLCMenu::PopupMenu( p_intf, true ); + /* Ow, that's ugly: don't show the popup menu if cursor over + * the main menu bar or the status bar */ + if( !childAt( p ) || ( ( childAt( p ) != menuBar() ) + && ( childAt( p )->parentWidget() != statusBar() ) ) ) + QVLCMenu::PopupMenu( p_intf, true ); } void MainInterface::debug() diff --git a/modules/gui/qt4/main_interface.hpp b/modules/gui/qt4/main_interface.hpp index 48aed59e48..3fd00aecb2 100644 --- a/modules/gui/qt4/main_interface.hpp +++ b/modules/gui/qt4/main_interface.hpp @@ -158,7 +158,7 @@ public slots: void toggleAdvanced(); void toggleFullScreen(); void toggleFSC(); - void popupMenu(); + void popupMenu( const QPoint& ); /* Manage the Video Functions from the vout threads */ void releaseVideoSlot( void );