From cd6a1487ded2f4df75d0e152ef589fae88d7bd95 Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Sat, 13 Sep 2025 21:58:29 +0500 Subject: [PATCH] Manager: Move the "remember size & position" option to Preferences dialog --- src/qt/languages/86box.pot | 3 ++ src/qt/languages/cs-CZ.po | 3 ++ src/qt/languages/de-DE.po | 3 ++ src/qt/languages/es-ES.po | 3 ++ src/qt/languages/fi-FI.po | 3 ++ src/qt/languages/fr-FR.po | 3 ++ src/qt/languages/hr-HR.po | 3 ++ src/qt/languages/it-IT.po | 3 ++ src/qt/languages/ja-JP.po | 3 ++ src/qt/languages/ko-KR.po | 3 ++ src/qt/languages/nb-NO.po | 3 ++ src/qt/languages/nl-NL.po | 3 ++ src/qt/languages/pl-PL.po | 3 ++ src/qt/languages/pt-BR.po | 3 ++ src/qt/languages/pt-PT.po | 3 ++ src/qt/languages/ru-RU.po | 3 ++ src/qt/languages/sk-SK.po | 3 ++ src/qt/languages/sl-SI.po | 3 ++ src/qt/languages/sv-SE.po | 3 ++ src/qt/languages/tr-TR.po | 3 ++ src/qt/languages/uk-UA.po | 3 ++ src/qt/languages/vi-VN.po | 3 ++ src/qt/languages/zh-CN.po | 3 ++ src/qt/languages/zh-TW.po | 3 ++ src/qt/qt_vmmanager_mainwindow.cpp | 50 ++++++++++++++++------------- src/qt/qt_vmmanager_mainwindow.ui | 9 ------ src/qt/qt_vmmanager_preferences.cpp | 3 ++ src/qt/qt_vmmanager_preferences.ui | 8 +++++ 28 files changed, 110 insertions(+), 32 deletions(-) diff --git a/src/qt/languages/86box.pot b/src/qt/languages/86box.pot index df6f01f3c..bae56c279 100644 --- a/src/qt/languages/86box.pot +++ b/src/qt/languages/86box.pot @@ -51,6 +51,9 @@ msgstr "" msgid "R&emember size && position" msgstr "" +msgid "Remember size && position" +msgstr "" + msgid "Re&nderer" msgstr "" diff --git a/src/qt/languages/cs-CZ.po b/src/qt/languages/cs-CZ.po index 6cef7611c..6c46c7538 100644 --- a/src/qt/languages/cs-CZ.po +++ b/src/qt/languages/cs-CZ.po @@ -51,6 +51,9 @@ msgstr "&Měnitelná velikost okna" msgid "R&emember size && position" msgstr "&Pamatovat velikost a pozici" +msgid "Remember size && position" +msgstr "Pamatovat velikost a pozici" + msgid "Re&nderer" msgstr "&Renderer" diff --git a/src/qt/languages/de-DE.po b/src/qt/languages/de-DE.po index 3b92f7ec3..6fb621242 100644 --- a/src/qt/languages/de-DE.po +++ b/src/qt/languages/de-DE.po @@ -51,6 +51,9 @@ msgstr "G&rößenverstellbares Fenster" msgid "R&emember size && position" msgstr "Größe && &Position merken" +msgid "Remember size && position" +msgstr "Größe && Position merken" + msgid "Re&nderer" msgstr "Re&nderer" diff --git a/src/qt/languages/es-ES.po b/src/qt/languages/es-ES.po index 46bd759fe..92a80869b 100644 --- a/src/qt/languages/es-ES.po +++ b/src/qt/languages/es-ES.po @@ -51,6 +51,9 @@ msgstr "Ven&tana redimensionable" msgid "R&emember size && position" msgstr "&Recordar tamaño y posición" +msgid "Remember size && position" +msgstr "Recordar tamaño y posición" + msgid "Re&nderer" msgstr "Re&nderizador" diff --git a/src/qt/languages/fi-FI.po b/src/qt/languages/fi-FI.po index 11e1c795f..f5957db4c 100644 --- a/src/qt/languages/fi-FI.po +++ b/src/qt/languages/fi-FI.po @@ -51,6 +51,9 @@ msgstr "&Salli koon muuttaminen" msgid "R&emember size && position" msgstr "&Muista koko ja sijainti" +msgid "Remember size && position" +msgstr "Muista koko ja sijainti" + msgid "Re&nderer" msgstr "&Renderöijä" diff --git a/src/qt/languages/fr-FR.po b/src/qt/languages/fr-FR.po index c31b4c8a6..b11c0c8b6 100644 --- a/src/qt/languages/fr-FR.po +++ b/src/qt/languages/fr-FR.po @@ -51,6 +51,9 @@ msgstr "Fenêtre &redimensionnable" msgid "R&emember size && position" msgstr "S&auvegarder taille && position" +msgid "Remember size && position" +msgstr "Sauvegarder taille && position" + msgid "Re&nderer" msgstr "Moteur de re&ndu vidéo" diff --git a/src/qt/languages/hr-HR.po b/src/qt/languages/hr-HR.po index 4f2d8ee93..d3acd499e 100644 --- a/src/qt/languages/hr-HR.po +++ b/src/qt/languages/hr-HR.po @@ -51,6 +51,9 @@ msgstr "&Prozor s promjenjivim veličinama" msgid "R&emember size && position" msgstr "&Zapamtite veličinu i položaj" +msgid "Remember size && position" +msgstr "Zapamtite veličinu i položaj" + msgid "Re&nderer" msgstr "&Renderer" diff --git a/src/qt/languages/it-IT.po b/src/qt/languages/it-IT.po index 4c0a6722a..443831788 100644 --- a/src/qt/languages/it-IT.po +++ b/src/qt/languages/it-IT.po @@ -51,6 +51,9 @@ msgstr "&Finestra ridimensionabile" msgid "R&emember size && position" msgstr "R&icorda dimensioni e posizione" +msgid "Remember size && position" +msgstr "Ricorda dimensioni e posizione" + msgid "Re&nderer" msgstr "Re&nderizzatore" diff --git a/src/qt/languages/ja-JP.po b/src/qt/languages/ja-JP.po index 2fb7da257..21bb1a88d 100644 --- a/src/qt/languages/ja-JP.po +++ b/src/qt/languages/ja-JP.po @@ -51,6 +51,9 @@ msgstr "ウィンドウのサイズを変更可能(&R)" msgid "R&emember size && position" msgstr "ウィンドウのサイズと位置を保存(&E)" +msgid "Remember size && position" +msgstr "ウィンドウのサイズと位置を保存" + msgid "Re&nderer" msgstr "レンダラー(&N)" diff --git a/src/qt/languages/ko-KR.po b/src/qt/languages/ko-KR.po index a9fa55f5b..68bd5d8c2 100644 --- a/src/qt/languages/ko-KR.po +++ b/src/qt/languages/ko-KR.po @@ -51,6 +51,9 @@ msgstr "창 크기 조절 가능하게 하기(&R)" msgid "R&emember size && position" msgstr "창 크기와 위치를 기억하기(&E)" +msgid "Remember size && position" +msgstr "창 크기와 위치를 기억하기" + msgid "Re&nderer" msgstr "렌더러(&N)" diff --git a/src/qt/languages/nb-NO.po b/src/qt/languages/nb-NO.po index 53115d4b1..ec1574fa3 100644 --- a/src/qt/languages/nb-NO.po +++ b/src/qt/languages/nb-NO.po @@ -51,6 +51,9 @@ msgstr "&Justerbart vindu" msgid "R&emember size && position" msgstr "H&usk størrelse &og plassering" +msgid "Remember size && position" +msgstr "Husk størrelse og plassering" + msgid "Re&nderer" msgstr "Re&nderer" diff --git a/src/qt/languages/nl-NL.po b/src/qt/languages/nl-NL.po index acc3526ec..ea92f69ec 100644 --- a/src/qt/languages/nl-NL.po +++ b/src/qt/languages/nl-NL.po @@ -51,6 +51,9 @@ msgstr "&Venster met aanpasbare grootte" msgid "R&emember size && position" msgstr "&Onthoud grootte && positie" +msgid "Remember size && position" +msgstr "Onthoud grootte && positie" + msgid "Re&nderer" msgstr "Re&nderer" diff --git a/src/qt/languages/pl-PL.po b/src/qt/languages/pl-PL.po index 81bedb546..6fdddd253 100644 --- a/src/qt/languages/pl-PL.po +++ b/src/qt/languages/pl-PL.po @@ -51,6 +51,9 @@ msgstr "&Okno o zmiennym rozmiarze" msgid "R&emember size && position" msgstr "P&amiętaj rozmiar i pozycję" +msgid "Remember size && position" +msgstr "Pamiętaj rozmiar i pozycję" + msgid "Re&nderer" msgstr "Re&nderer" diff --git a/src/qt/languages/pt-BR.po b/src/qt/languages/pt-BR.po index 211d39f16..fe162c540 100644 --- a/src/qt/languages/pt-BR.po +++ b/src/qt/languages/pt-BR.po @@ -51,6 +51,9 @@ msgstr "&Janela redimensionável" msgid "R&emember size && position" msgstr "&Lembrar tamanho e posição" +msgid "Remember size && position" +msgstr "Lembrar tamanho e posição" + msgid "Re&nderer" msgstr "&Renderizador" diff --git a/src/qt/languages/pt-PT.po b/src/qt/languages/pt-PT.po index bd7894f6e..66fbfa500 100644 --- a/src/qt/languages/pt-PT.po +++ b/src/qt/languages/pt-PT.po @@ -51,6 +51,9 @@ msgstr "&Janela redimensionável" msgid "R&emember size && position" msgstr "&Lembrar tamanho e posição" +msgid "Remember size && position" +msgstr "Lembrar tamanho e posição" + msgid "Re&nderer" msgstr "&Renderizador" diff --git a/src/qt/languages/ru-RU.po b/src/qt/languages/ru-RU.po index 6535b6603..a9b9c3c18 100644 --- a/src/qt/languages/ru-RU.po +++ b/src/qt/languages/ru-RU.po @@ -51,6 +51,9 @@ msgstr "&Изменяемый размер окна" msgid "R&emember size && position" msgstr "&Запомнить размер и положение" +msgid "Remember size && position" +msgstr "Запомнить размер и положение" + msgid "Re&nderer" msgstr "&Рендеринг" diff --git a/src/qt/languages/sk-SK.po b/src/qt/languages/sk-SK.po index 20f86033c..67d2aacca 100644 --- a/src/qt/languages/sk-SK.po +++ b/src/qt/languages/sk-SK.po @@ -51,6 +51,9 @@ msgstr "&Premenná veľkosť okna" msgid "R&emember size && position" msgstr "&Pamätať si veľkosť a polohu" +msgid "Remember size && position" +msgstr "Pamätať si veľkosť a polohu" + msgid "Re&nderer" msgstr "&Renderer" diff --git a/src/qt/languages/sl-SI.po b/src/qt/languages/sl-SI.po index 0813e3d83..4046d4700 100644 --- a/src/qt/languages/sl-SI.po +++ b/src/qt/languages/sl-SI.po @@ -51,6 +51,9 @@ msgstr "S&premenljiva velikost okna" msgid "R&emember size && position" msgstr "&Zapomni si velikost in položaj" +msgid "Remember size && position" +msgstr "Zapomni si velikost in položaj" + msgid "Re&nderer" msgstr "&Upodabljanje" diff --git a/src/qt/languages/sv-SE.po b/src/qt/languages/sv-SE.po index e3db6d3b7..4622aceda 100644 --- a/src/qt/languages/sv-SE.po +++ b/src/qt/languages/sv-SE.po @@ -51,6 +51,9 @@ msgstr "&Ändringsbar fönsterstorlek" msgid "R&emember size && position" msgstr "K&om ihåg storlek && position" +msgid "Remember size && position" +msgstr "Kom ihåg storlek && position" + msgid "Re&nderer" msgstr "Re&nderare" diff --git a/src/qt/languages/tr-TR.po b/src/qt/languages/tr-TR.po index 65eb47152..8bf374091 100644 --- a/src/qt/languages/tr-TR.po +++ b/src/qt/languages/tr-TR.po @@ -51,6 +51,9 @@ msgstr "&Boyutlandırılabilir pencere" msgid "R&emember size && position" msgstr "&Pencere boyut ve pozisyonunu kaydet" +msgid "Remember size && position" +msgstr "Pencere boyut ve pozisyonunu kaydet" + msgid "Re&nderer" msgstr "Derley&ici" diff --git a/src/qt/languages/uk-UA.po b/src/qt/languages/uk-UA.po index 79f5763c3..e5a714ad1 100644 --- a/src/qt/languages/uk-UA.po +++ b/src/qt/languages/uk-UA.po @@ -51,6 +51,9 @@ msgstr "&Змінний розмір вікна" msgid "R&emember size && position" msgstr "&Запам'ятати розмір і становище" +msgid "Remember size && position" +msgstr "Запам'ятати розмір і становище" + msgid "Re&nderer" msgstr "&Рендеринг" diff --git a/src/qt/languages/vi-VN.po b/src/qt/languages/vi-VN.po index f316c54c2..a19394b79 100644 --- a/src/qt/languages/vi-VN.po +++ b/src/qt/languages/vi-VN.po @@ -51,6 +51,9 @@ msgstr "Tùy chỉnh cỡ cử&a sổ" msgid "R&emember size && position" msgstr "Ghi nhớ vị trí và kíc&h thước cửa sổ" +msgid "Remember size && position" +msgstr "Ghi nhớ vị trí và kích thước cửa sổ" + msgid "Re&nderer" msgstr "Re&nderer" diff --git a/src/qt/languages/zh-CN.po b/src/qt/languages/zh-CN.po index 31a34da90..921f3f64e 100644 --- a/src/qt/languages/zh-CN.po +++ b/src/qt/languages/zh-CN.po @@ -51,6 +51,9 @@ msgstr "窗口大小可调(&R)" msgid "R&emember size && position" msgstr "记住窗口大小和位置(&E)" +msgid "Remember size && position" +msgstr "记住窗口大小和位置" + msgid "Re&nderer" msgstr "渲染器(&N)" diff --git a/src/qt/languages/zh-TW.po b/src/qt/languages/zh-TW.po index 7dcb3638f..771e67daf 100644 --- a/src/qt/languages/zh-TW.po +++ b/src/qt/languages/zh-TW.po @@ -51,6 +51,9 @@ msgstr "視窗大小可調(&R)" msgid "R&emember size && position" msgstr "記住視窗大小和位置(&E)" +msgid "Remember size && position" +msgstr "記住視窗大小和位置" + msgid "Re&nderer" msgstr "渲染器(&N)" diff --git a/src/qt/qt_vmmanager_mainwindow.cpp b/src/qt/qt_vmmanager_mainwindow.cpp index f36045df3..a4ae61577 100644 --- a/src/qt/qt_vmmanager_mainwindow.cpp +++ b/src/qt/qt_vmmanager_mainwindow.cpp @@ -135,33 +135,39 @@ VMManagerMainWindow(QWidget *parent) { auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General); - this->ui->actionRemember_size_and_position->setChecked(!!config->getStringValue("window_remember").toInt()); - if (ui->actionRemember_size_and_position->isChecked()) { - QStringList list = config->getStringValue("window_coordinates").split(','); - for (auto& cur : list) { - cur = cur.trimmed(); - } - QRect geom; - geom.setX(list[0].toInt()); - geom.setY(list[1].toInt()); - geom.setWidth(list[2].toInt()); - geom.setHeight(list[3].toInt()); + if (!!config->getStringValue("window_remember").toInt()) { + QString coords = config->getStringValue("window_coordinates"); + if (!coords.isEmpty()) { + QStringList list = coords.split(','); + for (auto& cur : list) { + cur = cur.trimmed(); + } + QRect geom; + geom.setX(list[0].toInt()); + geom.setY(list[1].toInt()); + geom.setWidth(list[2].toInt()); + geom.setHeight(list[3].toInt()); + + setGeometry(geom); + } - setGeometry(geom); if (!!config->getStringValue("window_maximized").toInt()) { setWindowState(windowState() | Qt::WindowMaximized); } - list = config->getStringValue("window_splitter").split(','); - for (auto& cur : list) { - cur = cur.trimmed(); + QString splitter = config->getStringValue("window_splitter"); + if (!splitter.isEmpty()) { + QStringList list = splitter.split(','); + for (auto& cur : list) { + cur = cur.trimmed(); + } + QList paneSizes; + paneSizes.append(list[0].toInt()); + paneSizes.append(list[1].toInt()); + + vmm->setPaneSizes(paneSizes); } - QList paneSizes; - paneSizes.append(list[0].toInt()); - paneSizes.append(list[1].toInt()); - vmm->setPaneSizes(paneSizes); } else { - config->setStringValue("window_remember", ""); config->setStringValue("window_coordinates", ""); config->setStringValue("window_maximized", ""); config->setStringValue("window_splitter", ""); @@ -224,13 +230,11 @@ VMManagerMainWindow::saveSettings() const const auto currentSelection = vmm->getCurrentSelection(); const auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General); config->setStringValue("last_selection", currentSelection); - config->setStringValue("window_remember", QString::number(ui->actionRemember_size_and_position->isChecked())); - if (ui->actionRemember_size_and_position->isChecked()) { + if (!!config->getStringValue("window_remember").toInt()) { config->setStringValue("window_coordinates", QString::asprintf("%i, %i, %i, %i", this->geometry().x(), this->geometry().y(), this->geometry().width(), this->geometry().height())); config->setStringValue("window_maximized", this->isMaximized() ? "1" : ""); config->setStringValue("window_splitter", QString::asprintf("%i, %i", vmm->getPaneSizes()[0], vmm->getPaneSizes()[1])); } else { - config->setStringValue("window_remember", ""); config->setStringValue("window_coordinates", ""); config->setStringValue("window_maximized", ""); config->setStringValue("window_splitter", ""); diff --git a/src/qt/qt_vmmanager_mainwindow.ui b/src/qt/qt_vmmanager_mainwindow.ui index 15739628d..7cd817a0b 100644 --- a/src/qt/qt_vmmanager_mainwindow.ui +++ b/src/qt/qt_vmmanager_mainwindow.ui @@ -28,7 +28,6 @@ &Tools - @@ -187,14 +186,6 @@ New machine... - - - true - - - R&emember size && position - - &Preferences... diff --git a/src/qt/qt_vmmanager_preferences.cpp b/src/qt/qt_vmmanager_preferences.cpp index b709b0b13..d181119f4 100644 --- a/src/qt/qt_vmmanager_preferences.cpp +++ b/src/qt/qt_vmmanager_preferences.cpp @@ -70,6 +70,8 @@ VMManagerPreferences(QWidget *parent) : ui(new Ui::VMManagerPreferences) #endif const auto useRegexSearch = config->getStringValue("regex_search").toInt(); ui->regexSearchCheckBox->setChecked(useRegexSearch); + const auto rememberSizePosition = config->getStringValue("window_remember").toInt(); + ui->rememberSizePositionCheckBox->setChecked(rememberSizePosition); ui->radioButtonSystem->setChecked(color_scheme == 0); ui->radioButtonLight->setChecked(color_scheme == 1); @@ -112,6 +114,7 @@ VMManagerPreferences::accept() #if EMU_BUILD_NUM != 0 config->setStringValue("update_check", ui->updateCheckBox->isChecked() ? "1" : "0"); #endif + config->setStringValue("window_remember", ui->rememberSizePositionCheckBox->isChecked() ? "1" : "0"); config->setStringValue("regex_search", ui->regexSearchCheckBox->isChecked() ? "1" : "0"); QDialog::accept(); } diff --git a/src/qt/qt_vmmanager_preferences.ui b/src/qt/qt_vmmanager_preferences.ui index ab96109e6..7f7b94fa4 100644 --- a/src/qt/qt_vmmanager_preferences.ui +++ b/src/qt/qt_vmmanager_preferences.ui @@ -92,6 +92,13 @@ + + + + Remember size && position + + + @@ -165,6 +172,7 @@ dirSelectButton comboBoxLanguage pushButtonLanguage + rememberSizePositionCheckBox updateCheckBox regexSearchCheckBox