diff --git a/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManagerArea.cpp b/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManagerArea.cpp index 9ff1d7c47..5e0417d7c 100644 --- a/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManagerArea.cpp +++ b/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManagerArea.cpp @@ -128,7 +128,18 @@ bool ToolWindowManagerArea::eventFilter(QObject *object, QEvent *event) { } else { m_dragCanStart = true; } + } else if (event->type() == QEvent::MouseButtonPress && + qApp->mouseButtons() == Qt::MiddleButton) { + int tabIndex = tabBar()->tabAt(static_cast(event)->pos()); + + if(tabIndex >= 0) { + QWidget *w = widget(tabIndex); + + if(!(m_manager->toolWindowProperties(w) & ToolWindowManager::HideCloseButton)) { + m_manager->removeToolWindow(w); + } + } } else if (event->type() == QEvent::MouseButtonRelease) { m_tabDragCanStart = false; m_dragCanStart = false;