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);
if (!immutable) {
connect(dockWidget, &QDockWidget::visibilityChanged,
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<QDockWidget *>(sender()->parent());
if (dw) {
if (dw->isVisible())
dw->raise();
}
}
void FancyMainWindow::setTrackingEnabled(bool enabled)
{
if (enabled) {

View File

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