nested mdi: Get rid of unneeded drop area mdi wrapper when floating

When floating, the FloatingWindow has its own DropArea for nesting.
We delete the redundant level of wrappers when floating.
This commit is contained in:
Sergio Martins
2022-01-14 17:55:43 +00:00
parent 95c12dbd4c
commit 18457d80aa
6 changed files with 77 additions and 8 deletions

View File

@@ -551,10 +551,17 @@ MDILayoutWidget *DockWidgetBase::Private::mdiLayout() const
bool DockWidgetBase::Private::isMDIWrapper() const
{
if (auto dropAreaGuest = qobject_cast<DropArea *>(q->widget()))
return dropAreaGuest->isMDIWrapper();
return mdiDropAreaWrapper() != nullptr;
}
return false;
DropArea *DockWidgetBase::Private::mdiDropAreaWrapper() const
{
if (auto dropAreaGuest = qobject_cast<DropArea *>(q->widget())) {
if (dropAreaGuest->isMDIWrapper())
return dropAreaGuest;
}
return nullptr;
}
DockWidgetBase::Private *DockWidgetBase::dptr() const