@@ -181,6 +181,11 @@ class DockContainerWidgetPrivate
181
181
*/
182
182
void dropIntoContainer (CFloatingDockContainer* FloatingWidget, DockWidgetArea area);
183
183
184
+ /* *
185
+ * Drop floating widget into auto hide side bar
186
+ */
187
+ void dropIntoAutoHideSideBar (CFloatingDockContainer* FloatingWidget, DockWidgetArea area);
188
+
184
189
/* *
185
190
* Drop floating widget into dock area
186
191
*/
@@ -505,6 +510,23 @@ void DockContainerWidgetPrivate::dropIntoContainer(CFloatingDockContainer* Float
505
510
}
506
511
507
512
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
+
508
530
// ============================================================================
509
531
void DockContainerWidgetPrivate::dropIntoCenterOfSection (
510
532
CFloatingDockContainer* FloatingWidget, CDockAreaWidget* TargetArea)
@@ -1661,18 +1683,8 @@ void CDockContainerWidget::dropFloatingWidget(CFloatingDockContainer* FloatingWi
1661
1683
{
1662
1684
if (internal::isSideBarArea (ContainerDropArea))
1663
1685
{
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);
1676
1688
}
1677
1689
else
1678
1690
{
@@ -1712,10 +1724,29 @@ void CDockContainerWidget::dropFloatingWidget(CFloatingDockContainer* FloatingWi
1712
1724
d->DockManager ->notifyFloatingWidgetDrop (FloatingWidget);
1713
1725
}
1714
1726
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
+
1715
1745
1716
1746
// ============================================================================
1717
1747
void CDockContainerWidget::dropWidget (QWidget* Widget, DockWidgetArea DropArea, CDockAreaWidget* TargetAreaWidget)
1718
1748
{
1749
+ std::cout << " CDockContainerWidget::dropWidget" << std::endl;
1719
1750
CDockWidget* SingleDockWidget = topLevelDockWidget ();
1720
1751
if (TargetAreaWidget)
1721
1752
{
0 commit comments