summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2016-06-22 11:57:15 +0200
committerOlivier Goffart (Woboq GmbH) <ogoffart@woboq.com>2016-06-25 11:46:51 +0000
commit0c44f26fae4d3ee493d8669b2ae1ea525e71c953 (patch)
tree86452a07acd8bf39727d397e8733c208c69c0825 /src
parentac9899b4cbae6af6f075be91c2863b17605a1085 (diff)
QDockWidget: fix floating group tab window not having the right title
Before, we were relying on the ZOrderChange event to update the windows title or other flags of a floating tab window when tabs are changed. But this did not catch all the cases. For example, the first tab switch, or when tabs are dragged out. Task-number: QTBUG-53754 Task-number: QTBUG-52107 Change-Id: I1523ce85ceaa95f044bd81f8ccbac0a86978fb33 Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp3
-rw-r--r--src/widgets/widgets/qdockwidget.cpp5
2 files changed, 3 insertions, 5 deletions
diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp
index 2823bd6f2f..d22e89c6e1 100644
--- a/src/widgets/widgets/qdockarealayout.cpp
+++ b/src/widgets/widgets/qdockarealayout.cpp
@@ -2155,6 +2155,9 @@ bool QDockAreaLayoutInfo::updateTabBar() const
if (oldCurrentId > 0 && currentTabId() != oldCurrentId)
that->setCurrentTabId(oldCurrentId);
+ if (QDockWidgetGroupWindow *dwgw = qobject_cast<QDockWidgetGroupWindow *>(tabBar->parent()))
+ dwgw->adjustFlags();
+
//returns if the tabbar is visible or not
return ( (gap ? 1 : 0) + tabBar->count()) > 1;
}
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index 8b2e7a6660..a7e04d3bfc 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -1386,8 +1386,6 @@ void QDockWidget::changeEvent(QEvent *event)
if (QDockAreaLayoutInfo *info = winLayout->layoutState.dockAreaLayout.info(this))
info->updateTabBar();
}
- if (QDockWidgetGroupWindow *p = qobject_cast<QDockWidgetGroupWindow *>(parent()))
- p->adjustFlags();
}
#endif // QT_NO_TABBAR
break;
@@ -1477,9 +1475,6 @@ bool QDockWidget::event(QEvent *event)
}
if (!isFloating() && layout != 0 && onTop)
layout->raise(this);
- if (QDockWidgetGroupWindow *p = qobject_cast<QDockWidgetGroupWindow *>(parent()))
- p->adjustFlags();
-
break;
}
case QEvent::WindowActivate: