Properly implemented focusedDockWidgetChanged() signal

This commit is contained in:
Uwe Kindler
2020-06-05 12:14:26 +02:00
parent d360b4ced2
commit f90f0b0427
3 changed files with 56 additions and 2 deletions

View File

@@ -466,7 +466,31 @@ void CDockWidgetTab::setActiveTab(bool active)
bool AllTabsHaveCloseButton = d->testConfigFlag(CDockManager::AllTabsHaveCloseButton);
bool TabHasCloseButton = (ActiveTabHasCloseButton && active) | AllTabsHaveCloseButton;
d->CloseButton->setVisible(DockWidgetClosable && TabHasCloseButton);
if (d->IsActiveTab == active)
/*if (d->IsActiveTab == active)
{
return;
}*/
if (CDockManager::configFlags().testFlag(CDockManager::FocusStyling) && !d->DockWidget->dockManager()->isRestoringState())
{
bool UpdateFocusStyle = false;
if (active && !hasFocus())
{
setFocus(Qt::OtherFocusReason);
UpdateFocusStyle = true;
}
if (d->IsActiveTab == active)
{
if (UpdateFocusStyle)
{
updateStyle();
}
return;
}
}
else if (d->IsActiveTab == active)
{
return;
}