[LayoutSettings] Refactor how widgetSize settings are managed (#6594)

This commit is contained in:
RickyRister 2026-02-08 05:07:53 -08:00 committed by GitHub
parent 1eb6027443
commit ac7ff3a0e9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 92 additions and 211 deletions

View file

@ -97,10 +97,10 @@ void TabDeckEditorVisual::createMenus()
viewMenu = new QMenu(this);
registerDockWidget(viewMenu, cardInfoDockWidget);
registerDockWidget(viewMenu, deckDockWidget);
registerDockWidget(viewMenu, filterDockWidget);
registerDockWidget(viewMenu, printingSelectorDockWidget);
registerDockWidget(viewMenu, cardInfoDockWidget, {250, 500});
registerDockWidget(viewMenu, deckDockWidget, {250, 360});
registerDockWidget(viewMenu, filterDockWidget, {250, 250});
registerDockWidget(viewMenu, printingSelectorDockWidget, {525, 250});
viewMenu->addSeparator();
@ -274,17 +274,14 @@ void TabDeckEditorVisual::loadLayout()
restoreGeometry(layouts.getDeckEditorGeometry());
}
cardInfoDockWidget->setMinimumSize(layouts.getDeckEditorCardSize());
cardInfoDockWidget->setMaximumSize(layouts.getDeckEditorCardSize());
for (auto it = dockToActions.constKeyValueBegin(); it != dockToActions.constKeyValueEnd(); ++it) {
auto dockWidget = it->first;
auto actions = it->second;
filterDockWidget->setMinimumSize(layouts.getDeckEditorFilterSize());
filterDockWidget->setMaximumSize(layouts.getDeckEditorFilterSize());
deckDockWidget->setMinimumSize(layouts.getDeckEditorDeckSize());
deckDockWidget->setMaximumSize(layouts.getDeckEditorDeckSize());
printingSelectorDockWidget->setMinimumSize(layouts.getDeckEditorPrintingSelectorSize());
printingSelectorDockWidget->setMaximumSize(layouts.getDeckEditorPrintingSelectorSize());
QSize size = layouts.getDeckEditorWidgetSize(dockWidget->objectName(), actions.defaultSize);
dockWidget->setMinimumSize(size);
dockWidget->setMaximumSize(size);
}
QTimer::singleShot(100, this, &TabDeckEditorVisual::freeDocksSize);
}
@ -349,10 +346,10 @@ bool TabDeckEditorVisual::eventFilter(QObject *o, QEvent *e)
LayoutsSettings &layouts = SettingsCache::instance().layouts();
layouts.setDeckEditorLayoutState(saveState());
layouts.setDeckEditorGeometry(saveGeometry());
layouts.setDeckEditorCardSize(cardInfoDockWidget->size());
layouts.setDeckEditorFilterSize(filterDockWidget->size());
layouts.setDeckEditorDeckSize(deckDockWidget->size());
layouts.setDeckEditorPrintingSelectorSize(printingSelectorDockWidget->size());
for (auto dockWidget : dockToActions.keys()) {
layouts.setDeckEditorWidgetSize(dockWidget->objectName(), dockWidget->size());
}
}
return false;
}