diff --git a/src/DockWidgetTab.cpp b/src/DockWidgetTab.cpp index bb1bd93..d633c5a 100644 --- a/src/DockWidgetTab.cpp +++ b/src/DockWidgetTab.cpp @@ -50,7 +50,6 @@ #include "FloatingDockContainer.h" #include "DockOverlay.h" #include "DockManager.h" -#include "IconProvider.h" #include "DockFocusController.h" @@ -540,13 +539,14 @@ QMenu* CDockWidgetTab::buildContextMenu(QMenu *Menu) Menu = new QMenu(this); } + qDebug() << "CDockWidgetTab::buildContextMenu"; const bool isFloatable = d->DockWidget->features().testFlag(CDockWidget::DockWidgetFloatable); - const bool isNotOnlyTabInContainer = !d->DockArea->dockContainer()->hasTopLevelDockWidget(); const bool isTopLevelArea = d->DockArea->isTopLevelArea(); - const bool isDetachable = isFloatable && isNotOnlyTabInContainer; + const bool isFloating = d->DockWidget->isFloating(); + const bool isDetachable = isFloatable && !isFloating; QAction* Action; - if (!isTopLevelArea) + if (!(isTopLevelArea && isFloating)) { Action = Menu->addAction(tr("Detach"), this, SLOT(detachDockWidget())); Action->setEnabled(isDetachable); @@ -570,7 +570,7 @@ QMenu* CDockWidgetTab::buildContextMenu(QMenu *Menu) Action->setEnabled(isClosable()); if (d->DockArea->openDockWidgetsCount() > 1) { - Action = Menu->addAction(tr("Close Others"), this, SIGNAL(closeOtherTabsRequested())); + Menu->addAction(tr("Close Others"), this, SIGNAL(closeOtherTabsRequested())); } return Menu;