Implemented proper updating of floating widget title
This commit is contained in:
@@ -435,14 +435,16 @@ void CDockWidget::toggleViewInternal(bool Open)
|
||||
{
|
||||
CDockContainerWidget* DockContainer = dockContainer();
|
||||
CDockWidget* TopLevelDockWidget = nullptr;
|
||||
CDockWidget* TopLevelDockWidgetBefore = nullptr;
|
||||
|
||||
if (Open && DockContainer)
|
||||
if (DockContainer)
|
||||
{
|
||||
TopLevelDockWidget = DockContainer->topLevelDockWidget();
|
||||
TopLevelDockWidgetBefore = DockContainer->topLevelDockWidget();
|
||||
}
|
||||
|
||||
if (Open)
|
||||
{
|
||||
TopLevelDockWidget = TopLevelDockWidgetBefore;
|
||||
d->showDockWidget();
|
||||
}
|
||||
else
|
||||
@@ -468,6 +470,22 @@ void CDockWidget::toggleViewInternal(bool Open)
|
||||
CDockWidget::emitTopLevelEventForWidget(TopLevelDockWidget, !Open);
|
||||
}
|
||||
|
||||
CDockWidget* TopLevelDockWidgetAfter = nullptr;
|
||||
if (DockContainer)
|
||||
{
|
||||
TopLevelDockWidgetAfter = DockContainer->topLevelDockWidget();
|
||||
}
|
||||
|
||||
if (TopLevelDockWidgetAfter != TopLevelDockWidgetBefore)
|
||||
{
|
||||
CFloatingDockContainer* FloatingContainer = qobject_cast<CFloatingDockContainer*>(DockContainer->parentWidget());
|
||||
if (FloatingContainer)
|
||||
{
|
||||
FloatingContainer->updateWindowTitle(TopLevelDockWidgetAfter ? TopLevelDockWidgetAfter->windowTitle() : "");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!Open)
|
||||
{
|
||||
emit closed();
|
||||
|
||||
Reference in New Issue
Block a user