FancyMainWindow: Avoid using sender()

Pass a context object to visibilityChanged() connection.

Change-Id: Ic146c443c21ac7ee56f16aa84d71186f23dd31da
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2022-07-19 17:30:59 +02:00
parent cfd002ebf0
commit 2e4188900f
2 changed files with 9 additions and 19 deletions

View File

@@ -394,15 +394,16 @@ QDockWidget *FancyMainWindow::addDockForWidget(QWidget *widget, bool immutable)
auto dockWidget = new DockWidget(widget, this, immutable); auto dockWidget = new DockWidget(widget, this, immutable);
if (!immutable) { if (!immutable) {
connect(dockWidget, &QDockWidget::visibilityChanged, connect(dockWidget, &QDockWidget::visibilityChanged, this,
[this, dockWidget](bool visible) { [this, dockWidget](bool visible) {
if (d->m_handleDockVisibilityChanges) if (d->m_handleDockVisibilityChanges)
dockWidget->setProperty(dockWidgetActiveState, visible); dockWidget->setProperty(dockWidgetActiveState, visible);
}); });
connect(dockWidget->toggleViewAction(), &QAction::triggered, connect(dockWidget->toggleViewAction(), &QAction::triggered, this, [dockWidget] {
this, &FancyMainWindow::onDockActionTriggered, if (dockWidget->isVisible())
Qt::QueuedConnection); dockWidget->raise();
}, Qt::QueuedConnection);
dockWidget->setProperty(dockWidgetActiveState, true); dockWidget->setProperty(dockWidgetActiveState, true);
} }
@@ -410,15 +411,6 @@ QDockWidget *FancyMainWindow::addDockForWidget(QWidget *widget, bool immutable)
return dockWidget; return dockWidget;
} }
void FancyMainWindow::onDockActionTriggered()
{
auto dw = qobject_cast<QDockWidget *>(sender()->parent());
if (dw) {
if (dw->isVisible())
dw->raise();
}
}
void FancyMainWindow::setTrackingEnabled(bool enabled) void FancyMainWindow::setTrackingEnabled(bool enabled)
{ {
if (enabled) { if (enabled) {

View File

@@ -85,8 +85,6 @@ protected:
void contextMenuEvent(QContextMenuEvent *event) override; void contextMenuEvent(QContextMenuEvent *event) override;
private: private:
void onDockActionTriggered();
void handleVisibilityChanged(bool visible); void handleVisibilityChanged(bool visible);
FancyMainWindowPrivate *d; FancyMainWindowPrivate *d;