Fix check state of the auto hide button

when dragging the container into a floating window
This commit is contained in:
Syarif Fakhri
2022-09-06 17:59:56 +08:00
parent fde133c25e
commit 052d3cecb9
4 changed files with 17 additions and 9 deletions

View File

@@ -1063,9 +1063,7 @@ bool DockContainerWidgetPrivate::restoreOverlayDockArea(CDockingStateReader& s,
dockContainer->hide();
DockArea = dockContainer->dockAreaWidget();
const auto titleBar = DockArea->titleBar();
QSignalBlocker blocker(titleBar);
titleBar->button(TitleBarButtonAutoHide)->setChecked(true);
DockArea->updateAutoHidebuttonCheckState();
}
while (s.readNextStartElement())
@@ -1655,6 +1653,7 @@ void CDockContainerWidget::removeDockArea(CDockAreaWidget* area)
dumpLayout();
d->emitDockAreasRemoved();
area->setOverlayDockContainer(nullptr);
area->updateAutoHidebuttonCheckState();
return;
}
@@ -1783,8 +1782,6 @@ void CDockContainerWidget::dropFloatingWidget(CFloatingDockContainer* FloatingWi
auto ContainerDropArea = d->DockManager->containerOverlay()->dropAreaUnderCursor();
bool Dropped = false;
// Handle any overlay widgets
// todo: cleanup - move into own func?
auto overlayWidgets = FloatingWidget->dockContainer()->overlayWidgets();
for (const auto overlayWidget : overlayWidgets)
{