1
0
mirror of https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git synced 2025-03-15 02:29:52 +08:00

Always show TitleBar if it contains any explicit actions (#720)

This commit is contained in:
André Meyer 2025-03-07 08:55:42 +01:00 committed by GitHub
parent c305432ab2
commit ddbed9ea14
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -872,10 +872,22 @@ void CDockAreaWidget::updateTitleBarVisibility()
bool IsAutoHide = isAutoHide();
if (!CDockManager::testConfigFlag(CDockManager::AlwaysShowTabs))
{
bool Hidden = Container->hasTopLevelDockWidget() && (Container->isFloating()
|| CDockManager::testConfigFlag(CDockManager::HideSingleCentralWidgetTitleBar));
Hidden |= (d->Flags.testFlag(HideSingleWidgetTitleBar) && openDockWidgetsCount() == 1);
Hidden &= !IsAutoHide; // Titlebar must always be visible when auto hidden so it can be dragged
bool Hidden = false;
if (!IsAutoHide) // Titlebar must always be visible when auto hidden so it can be dragged
{
if (Container->isFloating() || CDockManager::testConfigFlag(CDockManager::HideSingleCentralWidgetTitleBar))
{
// Always show title bar if it contains title bar actions
if (CDockWidget* TopLevelWidget = Container->topLevelDockWidget())
Hidden |= TopLevelWidget->titleBarActions().empty();
}
if (!Hidden && d->Flags.testFlag(HideSingleWidgetTitleBar))
{
// Always show title bar if it contains title bar actions
auto DockWidgets = openedDockWidgets();
Hidden |= (DockWidgets.size() == 1) && DockWidgets.front()->titleBarActions().empty();
}
}
d->TitleBar->setVisible(!Hidden);
}