@@ -181,6 +181,11 @@ class DockContainerWidgetPrivate
181181 */
182182 void dropIntoContainer (CFloatingDockContainer* FloatingWidget, DockWidgetArea area);
183183
184+ /* *
185+ * Drop floating widget into auto hide side bar
186+ */
187+ void dropIntoAutoHideSideBar (CFloatingDockContainer* FloatingWidget, DockWidgetArea area);
188+
184189 /* *
185190 * Drop floating widget into dock area
186191 */
@@ -505,6 +510,23 @@ void DockContainerWidgetPrivate::dropIntoContainer(CFloatingDockContainer* Float
505510}
506511
507512
513+ // ============================================================================
514+ void DockContainerWidgetPrivate::dropIntoAutoHideSideBar (CFloatingDockContainer* FloatingWidget, DockWidgetArea area)
515+ {
516+ auto SideBarLocation = internal::toSideBarLocation (area);
517+ auto NewDockAreas = FloatingWidget->findChildren <CDockAreaWidget*>(
518+ QString (), Qt::FindChildrenRecursively);
519+ for (auto DockArea : NewDockAreas)
520+ {
521+ auto DockWidgets = DockArea->dockWidgets ();
522+ for (auto DockWidget : DockWidgets)
523+ {
524+ _this->createAndSetupAutoHideContainer (SideBarLocation, DockWidget);
525+ }
526+ }
527+ }
528+
529+
508530// ============================================================================
509531void DockContainerWidgetPrivate::dropIntoCenterOfSection (
510532 CFloatingDockContainer* FloatingWidget, CDockAreaWidget* TargetArea)
@@ -1661,18 +1683,8 @@ void CDockContainerWidget::dropFloatingWidget(CFloatingDockContainer* FloatingWi
16611683 {
16621684 if (internal::isSideBarArea (ContainerDropArea))
16631685 {
1664- auto SideBarLocation = internal::toSideBarLocation (ContainerDropArea);
1665- std::cout << " Drop into sidebar " << std::endl;
1666- auto NewDockAreas = FloatingWidget->findChildren <CDockAreaWidget*>(
1667- QString (), Qt::FindChildrenRecursively);
1668- for (auto DockArea : NewDockAreas)
1669- {
1670- auto DockWidgets = DockArea->dockWidgets ();
1671- for (auto DockWidget : DockWidgets)
1672- {
1673- createAndSetupAutoHideContainer (SideBarLocation, DockWidget);
1674- }
1675- }
1686+ ADS_PRINT (" Container Drop Content: " << ContainerDropArea);
1687+ d->dropIntoAutoHideSideBar (FloatingWidget, ContainerDropArea);
16761688 }
16771689 else
16781690 {
@@ -1712,10 +1724,29 @@ void CDockContainerWidget::dropFloatingWidget(CFloatingDockContainer* FloatingWi
17121724 d->DockManager ->notifyFloatingWidgetDrop (FloatingWidget);
17131725}
17141726
1727+ /*
1728+ * else if (internal::isSideBarArea(ContainerDropArea))
1729+ {
1730+ // Drop into AutoHideArea
1731+ auto DockWidget = qobject_cast<CDockWidget*>(d->Content);
1732+ auto DockArea = qobject_cast<CDockAreaWidget*>(d->Content);
1733+ auto SideBarLocation = internal::toSideBarLocation(ContainerDropArea);
1734+ if (DockWidget)
1735+ {
1736+ DockWidget->toggleAutoHide(SideBarLocation);
1737+ }
1738+ else if (DockArea)
1739+ {
1740+ DockArea->toggleAutoHide(SideBarLocation);
1741+ }
1742+ }
1743+ */
1744+
17151745
17161746// ============================================================================
17171747void CDockContainerWidget::dropWidget (QWidget* Widget, DockWidgetArea DropArea, CDockAreaWidget* TargetAreaWidget)
17181748{
1749+ std::cout << " CDockContainerWidget::dropWidget" << std::endl;
17191750 CDockWidget* SingleDockWidget = topLevelDockWidget ();
17201751 if (TargetAreaWidget)
17211752 {
0 commit comments