forked from qt-creator/qt-creator
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:
@@ -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) {
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user