LayoutSaver now can save/restore a sub-set of windows

Each subset is identified by its "affinity name".
See DockWidget/MainWindow setAffinityName property.

Patch contributed by Andras Mantia, I've changed it to deal in
terms of affinity names instead of unique names.
This commit is contained in:
Sergio Martins
2020-03-01 14:25:31 +00:00
parent dedda6cb14
commit 9904d847f2
4 changed files with 73 additions and 10 deletions

View File

@@ -604,6 +604,19 @@ void MultiSplitterLayout::ensureItemsMinSize()
}
}
QString MultiSplitterLayout::affinityName() const
{
if (auto ms = multiSplitter()) {
if (auto mainWindow = ms->mainWindow()) {
return mainWindow->affinityName();
} else if (auto fw = ms->floatingWindow()) {
return fw->affinityName();
}
}
return QString();
}
void MultiSplitterLayout::addMultiSplitter(MultiSplitter *sourceMultiSplitter,
Location location,
Frame *relativeTo)