Add insert order for overlayed widget to the side tab bar

- Set the default insert order to append
This commit is contained in:
Syarif Fakhri
2022-09-14 15:52:34 +08:00
parent 5df2467592
commit 06bcf2cd48
8 changed files with 52 additions and 15 deletions

View File

@@ -1485,7 +1485,7 @@ CDockAreaWidget* CDockContainerWidget::addDockWidget(DockWidgetArea area, CDockW
//============================================================================
COverlayDockContainer* CDockContainerWidget::createAndInitializeDockWidgetOverlayContainer(CDockWidgetSideTab::SideTabBarArea area, CDockWidget* DockWidget)
COverlayDockContainer* CDockContainerWidget::createAndInitializeDockWidgetOverlayContainer(CDockWidgetSideTab::SideTabBarArea area, CDockWidget* DockWidget, CDockWidget::eOverlayInsertOrder insertOrder)
{
if (d->DockManager != DockWidget->dockManager())
{
@@ -1498,7 +1498,7 @@ COverlayDockContainer* CDockContainerWidget::createAndInitializeDockWidgetOverla
return nullptr;
}
sideTabBar(area)->insertSideTab(0, DockWidget->sideTabWidget());
sideTabBar(area)->insertSideTab(insertOrder == CDockWidget::First ? 0 : -1, DockWidget->sideTabWidget());
DockWidget->sideTabWidget()->show();
const auto dockContainer = new COverlayDockContainer(DockWidget, area, this);
@@ -1800,7 +1800,7 @@ void CDockContainerWidget::dropFloatingWidget(CFloatingDockContainer* FloatingWi
auto overlayWidgets = FloatingWidget->dockContainer()->overlayWidgets();
for (const auto overlayWidget : overlayWidgets)
{
createAndInitializeDockWidgetOverlayContainer(overlayWidget->sideTabBarArea(), overlayWidget->dockWidget());
createAndInitializeDockWidgetOverlayContainer(overlayWidget->sideTabBarArea(), overlayWidget->dockWidget(), overlayWidget->dockWidget()->overlayInsertOrder());
}
if (DockArea)