[VDE] Separate layout settings for visual deck editor (#6595)
Some checks failed
Build Desktop / Configure (push) Has been cancelled
Build Docker Image / amd64 & arm64 (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Debian, DEB, 11) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Debian, DEB, 13) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Debian, DEB, skip, 12) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Fedora, RPM, 43) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Fedora, RPM, skip, 42) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Servatrice_Debian, DEB, yes, skip, 11) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Ubuntu, DEB, 22.04) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Ubuntu, DEB, 24.04) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (yes, Arch, skip) (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (Ninja, macOS, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.6.*, macos-15, Apple, 15, Debug, 1, 16.4) (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (Windows10-installer, Visual Studio 17 2022, x64, 1, Windows, -Win10, win64_msvc2019_64, qtimageformats qtmultimedia qtwebsoc… (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (Windows7-installer, Visual Studio 17 2022, x64, 1, Windows, -Win7, win64_msvc2019_64, 5.15.*, windows-2022, 7, Release) (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (macOS13_Intel-package, Ninja, 1, macOS, 13, -macOS13_Intel, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.6.*, macos… (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (macOS14-package, Ninja, 1, macOS, -macOS14, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.6.*, macos-14, Apple, 14, … (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (macOS15-package, Ninja, 1, macOS, -macOS15, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.6.*, macos-15, Apple, 15, … (push) Has been cancelled

This commit is contained in:
RickyRister 2026-02-08 13:37:56 -08:00 committed by GitHub
parent ac7ff3a0e9
commit bdb42bbbbd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 46 additions and 6 deletions

View File

@ -266,19 +266,19 @@ void TabDeckEditorVisual::refreshShortcuts()
void TabDeckEditorVisual::loadLayout()
{
LayoutsSettings &layouts = SettingsCache::instance().layouts();
auto layoutState = layouts.getDeckEditorLayoutState();
auto layoutState = layouts.getVisualDeckEditorLayoutState();
if (layoutState.isNull()) {
restartLayout();
} else {
restoreState(layoutState);
restoreGeometry(layouts.getDeckEditorGeometry());
restoreGeometry(layouts.getVisualDeckEditorGeometry());
}
for (auto it = dockToActions.constKeyValueBegin(); it != dockToActions.constKeyValueEnd(); ++it) {
auto dockWidget = it->first;
auto actions = it->second;
QSize size = layouts.getDeckEditorWidgetSize(dockWidget->objectName(), actions.defaultSize);
QSize size = layouts.getVisualDeckEditorWidgetSize(dockWidget->objectName(), actions.defaultSize);
dockWidget->setMinimumSize(size);
dockWidget->setMaximumSize(size);
}
@ -344,11 +344,11 @@ bool TabDeckEditorVisual::eventFilter(QObject *o, QEvent *e)
{
if (o == this && e->type() == QEvent::Hide) {
LayoutsSettings &layouts = SettingsCache::instance().layouts();
layouts.setDeckEditorLayoutState(saveState());
layouts.setDeckEditorGeometry(saveGeometry());
layouts.setVisualDeckEditorLayoutState(saveState());
layouts.setVisualDeckEditorGeometry(saveGeometry());
for (auto dockWidget : dockToActions.keys()) {
layouts.setDeckEditorWidgetSize(dockWidget->objectName(), dockWidget->size());
layouts.setVisualDeckEditorWidgetSize(dockWidget->objectName(), dockWidget->size());
}
}
return false;

View File

@ -6,6 +6,7 @@ const static QString SIZE_PROP = "widgetSize";
const static QString GROUP_MAIN_WINDOW = "mainWindow";
const static QString GROUP_DECK_EDITOR = "deckEditor";
const static QString GROUP_VISUAL_DECK_EDITOR = "visualDeckEditor";
const static QString GROUP_DECK_EDITOR_DB = "deckEditorDb";
const static QString GROUP_SETS_DIALOG = "setsDialog";
const static QString GROUP_TOKEN_DIALOG = "tokenDialog";
@ -58,6 +59,37 @@ QSize LayoutsSettings::getDeckEditorWidgetSize(const QString &widgetName, const
return previous == QVariant() ? defaultValue : previous.toSize();
}
QByteArray LayoutsSettings::getVisualDeckEditorLayoutState()
{
return getValue(STATE_PROP, GROUP_VISUAL_DECK_EDITOR).toByteArray();
}
void LayoutsSettings::setVisualDeckEditorLayoutState(const QByteArray &value)
{
setValue(value, STATE_PROP, GROUP_VISUAL_DECK_EDITOR);
}
QByteArray LayoutsSettings::getVisualDeckEditorGeometry()
{
return getValue(GEOMETRY_PROP, GROUP_VISUAL_DECK_EDITOR).toByteArray();
}
void LayoutsSettings::setVisualDeckEditorGeometry(const QByteArray &value)
{
setValue(value, GEOMETRY_PROP, GROUP_VISUAL_DECK_EDITOR);
}
void LayoutsSettings::setVisualDeckEditorWidgetSize(const QString &widgetName, const QSize &value)
{
setValue(value, widgetName, GROUP_VISUAL_DECK_EDITOR, SIZE_PROP);
}
QSize LayoutsSettings::getVisualDeckEditorWidgetSize(const QString &widgetName, const QSize &defaultValue)
{
QVariant previous = getValue(widgetName, GROUP_VISUAL_DECK_EDITOR, SIZE_PROP);
return previous == QVariant() ? defaultValue : previous.toSize();
}
QByteArray LayoutsSettings::getDeckEditorDbHeaderState()
{
return getValue(STATE_PROP, GROUP_DECK_EDITOR_DB, "header").toByteArray();

View File

@ -23,6 +23,10 @@ public:
void setDeckEditorGeometry(const QByteArray &value);
void setDeckEditorWidgetSize(const QString &widgetName, const QSize &value);
void setVisualDeckEditorLayoutState(const QByteArray &value);
void setVisualDeckEditorGeometry(const QByteArray &value);
void setVisualDeckEditorWidgetSize(const QString &widgetName, const QSize &value);
void setDeckEditorDbHeaderState(const QByteArray &value);
void setSetsDialogHeaderState(const QByteArray &value);
void setSetsDialogGeometry(const QByteArray &value);
@ -42,6 +46,10 @@ public:
QByteArray getDeckEditorGeometry();
QSize getDeckEditorWidgetSize(const QString &widgetName, const QSize &defaultValue = {});
QByteArray getVisualDeckEditorLayoutState();
QByteArray getVisualDeckEditorGeometry();
QSize getVisualDeckEditorWidgetSize(const QString &widgetName, const QSize &defaultValue = {});
QByteArray getDeckEditorDbHeaderState();
QByteArray getSetsDialogHeaderState();
QByteArray getSetsDialogGeometry();