From 2e4188900f4c8369a829f61462679d8a7b5907f8 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 19 Jul 2022 17:30:59 +0200 Subject: [PATCH] FancyMainWindow: Avoid using sender() Pass a context object to visibilityChanged() connection. Change-Id: Ic146c443c21ac7ee56f16aa84d71186f23dd31da Reviewed-by: Eike Ziller Reviewed-by: --- src/libs/utils/fancymainwindow.cpp | 26 +++++++++----------------- src/libs/utils/fancymainwindow.h | 2 -- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/libs/utils/fancymainwindow.cpp b/src/libs/utils/fancymainwindow.cpp index df1306d3a55..fefbebde2ad 100644 --- a/src/libs/utils/fancymainwindow.cpp +++ b/src/libs/utils/fancymainwindow.cpp @@ -394,15 +394,16 @@ QDockWidget *FancyMainWindow::addDockForWidget(QWidget *widget, bool immutable) auto dockWidget = new DockWidget(widget, this, immutable); if (!immutable) { - connect(dockWidget, &QDockWidget::visibilityChanged, - [this, dockWidget](bool visible) { - if (d->m_handleDockVisibilityChanges) - dockWidget->setProperty(dockWidgetActiveState, visible); - }); + connect(dockWidget, &QDockWidget::visibilityChanged, this, + [this, dockWidget](bool visible) { + if (d->m_handleDockVisibilityChanges) + dockWidget->setProperty(dockWidgetActiveState, visible); + }); - connect(dockWidget->toggleViewAction(), &QAction::triggered, - this, &FancyMainWindow::onDockActionTriggered, - Qt::QueuedConnection); + connect(dockWidget->toggleViewAction(), &QAction::triggered, this, [dockWidget] { + if (dockWidget->isVisible()) + dockWidget->raise(); + }, Qt::QueuedConnection); dockWidget->setProperty(dockWidgetActiveState, true); } @@ -410,15 +411,6 @@ QDockWidget *FancyMainWindow::addDockForWidget(QWidget *widget, bool immutable) return dockWidget; } -void FancyMainWindow::onDockActionTriggered() -{ - auto dw = qobject_cast(sender()->parent()); - if (dw) { - if (dw->isVisible()) - dw->raise(); - } -} - void FancyMainWindow::setTrackingEnabled(bool enabled) { if (enabled) { diff --git a/src/libs/utils/fancymainwindow.h b/src/libs/utils/fancymainwindow.h index 4424b1c8bbf..a7c294c0fc3 100644 --- a/src/libs/utils/fancymainwindow.h +++ b/src/libs/utils/fancymainwindow.h @@ -85,8 +85,6 @@ protected: void contextMenuEvent(QContextMenuEvent *event) override; private: - void onDockActionTriggered(); - void handleVisibilityChanged(bool visible); FancyMainWindowPrivate *d;