File tree Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -872,10 +872,22 @@ void CDockAreaWidget::updateTitleBarVisibility()
872872 bool IsAutoHide = isAutoHide ();
873873 if (!CDockManager::testConfigFlag (CDockManager::AlwaysShowTabs))
874874 {
875- bool Hidden = Container->hasTopLevelDockWidget () && (Container->isFloating ()
876- || CDockManager::testConfigFlag (CDockManager::HideSingleCentralWidgetTitleBar));
877- Hidden |= (d->Flags .testFlag (HideSingleWidgetTitleBar) && openDockWidgetsCount () == 1 );
878- Hidden &= !IsAutoHide; // Titlebar must always be visible when auto hidden so it can be dragged
875+ bool Hidden = false ;
876+ if (!IsAutoHide) // Titlebar must always be visible when auto hidden so it can be dragged
877+ {
878+ if (Container->isFloating () || CDockManager::testConfigFlag (CDockManager::HideSingleCentralWidgetTitleBar))
879+ {
880+ // Always show title bar if it contains title bar actions
881+ if (CDockWidget* TopLevelWidget = Container->topLevelDockWidget ())
882+ Hidden |= TopLevelWidget->titleBarActions ().empty ();
883+ }
884+ if (!Hidden && d->Flags .testFlag (HideSingleWidgetTitleBar))
885+ {
886+ // Always show title bar if it contains title bar actions
887+ auto DockWidgets = openedDockWidgets ();
888+ Hidden |= (DockWidgets.size () == 1 ) && DockWidgets.front ()->titleBarActions ().empty ();
889+ }
890+ }
879891 d->TitleBar ->setVisible (!Hidden);
880892 }
881893
You can’t perform that action at this time.
0 commit comments