@@ -587,16 +587,7 @@ void DockContainerWidgetPrivate::dropIntoSection(CFloatingDockContainer* Floatin
587587 auto InsertParam = internal::dockAreaInsertParameters (area);
588588 auto NewDockAreas = FloatingContainer->findChildren <CDockAreaWidget*>(
589589 QString (), Qt::FindChildrenRecursively);
590- QSplitter* TargetAreaSplitter = internal::findParent<QSplitter*>(TargetArea);
591-
592- if (!TargetAreaSplitter)
593- {
594- QSplitter* Splitter = newSplitter (InsertParam.orientation ());
595- Layout->replaceWidget (TargetArea, Splitter);
596- Splitter->addWidget (TargetArea);
597- updateSplitterHandles (Splitter);
598- TargetAreaSplitter = Splitter;
599- }
590+ auto TargetAreaSplitter = TargetArea->parentSplitter ();
600591 int AreaIndex = TargetAreaSplitter->indexOf (TargetArea);
601592 auto FloatingSplitter = FloatingContainer->rootSplitter ();
602593 if (TargetAreaSplitter->orientation () == InsertParam.orientation ())
@@ -742,7 +733,7 @@ void DockContainerWidgetPrivate::moveToNewSection(QWidget* Widget, CDockAreaWidg
742733 }
743734
744735 auto InsertParam = internal::dockAreaInsertParameters (area);
745- QSplitter* TargetAreaSplitter = internal::findParent<QSplitter*>(TargetArea );
736+ auto TargetAreaSplitter = TargetArea-> parentSplitter ( );
746737 int AreaIndex = TargetAreaSplitter->indexOf (TargetArea);
747738 auto Sizes = TargetAreaSplitter->sizes ();
748739 if (TargetAreaSplitter->orientation () == InsertParam.orientation ())
@@ -877,7 +868,7 @@ void DockContainerWidgetPrivate::moveToContainer(QWidget* Widget, DockWidgetArea
877868 // it already has and do nothing, if it is the same place. It would
878869 // also work without this check, but it looks nicer with the check
879870 // because there will be no layout updates
880- auto Splitter = internal::findParent<CDockSplitter*>(DroppedDockArea );
871+ auto Splitter = DroppedDockArea-> parentSplitter ( );
881872 auto InsertParam = internal::dockAreaInsertParameters (area);
882873 if (Splitter == RootSplitter && InsertParam.orientation () == Splitter->orientation ())
883874 {
@@ -1364,7 +1355,7 @@ CDockAreaWidget* DockContainerWidgetPrivate::addDockWidgetToDockArea(DockWidgetA
13641355 NewDockArea->addDockWidget (Dockwidget);
13651356 auto InsertParam = internal::dockAreaInsertParameters (area);
13661357
1367- QSplitter* TargetAreaSplitter = internal::findParent<QSplitter*>(TargetDockArea );
1358+ auto TargetAreaSplitter = TargetDockArea-> parentSplitter ( );
13681359 int index = TargetAreaSplitter ->indexOf (TargetDockArea);
13691360 if (TargetAreaSplitter->orientation () == InsertParam.orientation ())
13701361 {
@@ -1381,7 +1372,7 @@ CDockAreaWidget* DockContainerWidgetPrivate::addDockWidgetToDockArea(DockWidgetA
13811372 {
13821373 ADS_PRINT (" TargetAreaSplitter->orientation() != InsertParam.orientation()" );
13831374 auto TargetAreaSizes = TargetAreaSplitter->sizes ();
1384- QSplitter* NewSplitter = newSplitter (InsertParam.orientation ());
1375+ auto NewSplitter = newSplitter (InsertParam.orientation ());
13851376 NewSplitter->addWidget (TargetDockArea);
13861377
13871378 insertWidgetIntoSplitter (NewSplitter, NewDockArea, InsertParam.append ());
@@ -1572,7 +1563,7 @@ void CDockContainerWidget::removeDockArea(CDockAreaWidget* area)
15721563
15731564 area->disconnect (this );
15741565 d->DockAreas .removeAll (area);
1575- CDockSplitter* Splitter = internal::findParent<CDockSplitter*>(area );
1566+ auto Splitter = area-> parentSplitter ( );
15761567
15771568 // Remove are from parent splitter and recursively hide tree of parent
15781569 // splitters if it has no visible content
@@ -1943,7 +1934,7 @@ bool CDockContainerWidget::restoreState(CDockingStateReader& s, bool Testing)
19431934
19441935
19451936// ============================================================================
1946- QSplitter * CDockContainerWidget::rootSplitter () const
1937+ CDockSplitter * CDockContainerWidget::rootSplitter () const
19471938{
19481939 return d->RootSplitter ;
19491940}
0 commit comments