diff --git a/src/libs/utils/fancymainwindow.cpp b/src/libs/utils/fancymainwindow.cpp index 2bb28ff7b143598c919438c12a97ec43562d412a..7544c35d5d8442bb19b268e1dc3d3ce001f7b860 100644 --- a/src/libs/utils/fancymainwindow.cpp +++ b/src/libs/utils/fancymainwindow.cpp @@ -33,6 +33,7 @@ #include <QtCore/QHash> #include <QtGui/QAction> +#include <QtGui/QContextMenuEvent> #include <QtGui/QMenu> #include <QtGui/QDockWidget> #include <QtCore/QSettings> @@ -179,6 +180,13 @@ void FancyMainWindow::showEvent(QShowEvent *event) handleVisibilityChanged(true); } +void FancyMainWindow::contextMenuEvent(QContextMenuEvent *event) +{ + QMenu *menu = createPopupMenu(); + menu->exec(event->globalPos()); + delete menu; +} + void FancyMainWindow::handleVisibilityChanged(bool visible) { d->m_handleDockVisibilityChanges = false; diff --git a/src/libs/utils/fancymainwindow.h b/src/libs/utils/fancymainwindow.h index 2b0927a058f5df94e4aaee29af59ce821e7c719b..7ffeb23da955177169c7f5768a18fc2ebd189d5b 100644 --- a/src/libs/utils/fancymainwindow.h +++ b/src/libs/utils/fancymainwindow.h @@ -92,7 +92,7 @@ public slots: protected: void hideEvent(QHideEvent *event); void showEvent(QShowEvent *event); - + void contextMenuEvent(QContextMenuEvent *event); private slots: void onDockActionTriggered(); void onDockVisibilityChange(bool); diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp index 720ba2b1dd6e27c5c8ed140f6c041b5c53e8d1fc..167e02bd3845857f927f59fbdf15b6bb227d63b3 100644 --- a/src/plugins/debugger/debuggermainwindow.cpp +++ b/src/plugins/debugger/debuggermainwindow.cpp @@ -67,7 +67,7 @@ QMenu* DebuggerMainWindow::createPopupMenu() const QList<QDockWidget* > dockwidgets = m_uiSwitcher->i_mw_dockWidgets(); if (!dockwidgets.isEmpty()) { - menu = new QMenu(this); + menu = FancyMainWindow::createPopupMenu(); foreach (QDockWidget *dockWidget, dockwidgets) { if (dockWidget->parentWidget() == this)