From 8c629a29c3dbc80ca020611a56c0eee170d8d569 Mon Sep 17 00:00:00 2001 From: collecting Date: Sun, 12 Oct 2025 21:43:05 +0000 Subject: [PATCH 1/4] fix: Non-fullscreen & Resize Memory --- src/citron/configuration/configure_dialog.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/citron/configuration/configure_dialog.cpp b/src/citron/configuration/configure_dialog.cpp index c4f1d4eae..29be50965 100644 --- a/src/citron/configuration/configure_dialog.cpp +++ b/src/citron/configuration/configure_dialog.cpp @@ -90,20 +90,14 @@ rainbow_timer{new QTimer(this)} { ui->setupUi(this); + if (!UISettings::values.configure_dialog_geometry.isEmpty()) { + restoreGeometry(UISettings::values.configure_dialog_geometry); + } + UpdateTheme(); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - QScreen* screen = QApplication::primaryScreen(); - if (screen) { - QRect screenGeometry = screen->availableGeometry(); - qreal devicePixelRatio = screen->devicePixelRatio(); - int logicalWidth = static_cast(screenGeometry.width() / devicePixelRatio); - int logicalHeight = static_cast(screenGeometry.height() / devicePixelRatio); - setGeometry(0, 0, logicalWidth, logicalHeight); - showMaximized(); - } - tab_button_group = std::make_unique(this); tab_button_group->setExclusive(true); @@ -173,7 +167,9 @@ rainbow_timer{new QTimer(this)} { ui->buttonBox->setFocus(); } -ConfigureDialog::~ConfigureDialog() = default; +ConfigureDialog::~ConfigureDialog() { + UISettings::values.configure_dialog_geometry = saveGeometry(); +} void ConfigureDialog::UpdateTheme() { QString accent_color_str; From e96c9d7a8f69eb1da754ee173757929fe255a8a7 Mon Sep 17 00:00:00 2001 From: collecting Date: Sun, 12 Oct 2025 21:44:43 +0000 Subject: [PATCH 2/4] fix: Resizeable w/ Window Memory --- src/citron/configuration/configure_per_game.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/citron/configuration/configure_per_game.cpp b/src/citron/configuration/configure_per_game.cpp index 347ab476d..3f52bdaf6 100644 --- a/src/citron/configuration/configure_per_game.cpp +++ b/src/citron/configuration/configure_per_game.cpp @@ -38,6 +38,7 @@ #include "core/loader/loader.h" #include "frontend_common/config.h" #include "ui_configure_per_game.h" +#include "citron/uisettings.h" #include "citron/configuration/configuration_shared.h" #include "citron/configuration/configure_audio.h" #include "citron/configuration/configure_cpu.h" @@ -78,6 +79,10 @@ rainbow_timer{new QTimer(this)} { ui->setupUi(this); + if (!UISettings::values.per_game_configure_geometry.isEmpty()) { + restoreGeometry(UISettings::values.per_game_configure_geometry); + } + ApplyStaticTheme(); UpdateTheme(); // Run once to set initial colors connect(rainbow_timer, &QTimer::timeout, this, &ConfigurePerGame::UpdateTheme); @@ -131,7 +136,9 @@ rainbow_timer{new QTimer(this)} { LoadConfiguration(); } -ConfigurePerGame::~ConfigurePerGame() = default; +ConfigurePerGame::~ConfigurePerGame() { + UISettings::values.per_game_configure_geometry = saveGeometry(); +} void ConfigurePerGame::accept() { ApplyConfiguration(); From 9f30085cbbb0c0aec40066f776eafabcfb2bf443 Mon Sep 17 00:00:00 2001 From: collecting Date: Sun, 12 Oct 2025 21:45:19 +0000 Subject: [PATCH 3/4] fix: Resizable w/ Window Memory --- src/citron/uisettings.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/citron/uisettings.h b/src/citron/uisettings.h index e8bb4445f..289990615 100644 --- a/src/citron/uisettings.h +++ b/src/citron/uisettings.h @@ -91,6 +91,9 @@ namespace UISettings { QByteArray renderwindow_geometry; + QByteArray configure_dialog_geometry; + QByteArray per_game_configure_geometry; + QByteArray gamelist_header_state; QByteArray microprofile_geometry; From b162d63a1b3d0917f6fddd5f160b2c926fd774c3 Mon Sep 17 00:00:00 2001 From: collecting Date: Sun, 12 Oct 2025 21:45:53 +0000 Subject: [PATCH 4/4] fix: Resizable w/ Window Memory --- src/citron/uisettings.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/citron/uisettings.cpp b/src/citron/uisettings.cpp index f4db1824d..3512d8a1a 100644 --- a/src/citron/uisettings.cpp +++ b/src/citron/uisettings.cpp @@ -68,6 +68,8 @@ namespace UISettings { config.setValue(QStringLiteral("geometry"), values.geometry); config.setValue(QStringLiteral("state"), values.state); config.setValue(QStringLiteral("geometryRenderWindow"), values.renderwindow_geometry); + config.setValue(QStringLiteral("configureDialogGeometry"), values.configure_dialog_geometry); + config.setValue(QStringLiteral("perGameConfigureGeometry"), values.per_game_configure_geometry); config.setValue(QStringLiteral("gameListHeaderState"), values.gamelist_header_state); config.setValue(QStringLiteral("microProfileDialogGeometry"), values.microprofile_geometry); @@ -106,6 +108,10 @@ namespace UISettings { values.state = config.value(QStringLiteral("state")).toByteArray(); values.renderwindow_geometry = config.value(QStringLiteral("geometryRenderWindow")).toByteArray(); + values.configure_dialog_geometry = + config.value(QStringLiteral("configureDialogGeometry")).toByteArray(); + values.per_game_configure_geometry = + config.value(QStringLiteral("perGameConfigureGeometry")).toByteArray(); values.gamelist_header_state = config.value(QStringLiteral("gameListHeaderState")).toByteArray(); values.microprofile_geometry =