Manager: Move the "remember size & position" option to Preferences dialog

This commit is contained in:
Alexander Babikov
2025-09-13 21:58:29 +05:00
parent b722d03e69
commit cd6a1487de
28 changed files with 110 additions and 32 deletions

View File

@@ -51,6 +51,9 @@ msgstr ""
msgid "R&emember size && position"
msgstr ""
msgid "Remember size && position"
msgstr ""
msgid "Re&nderer"
msgstr ""

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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ä"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -51,6 +51,9 @@ msgstr "ウィンドウのサイズを変更可能(&R)"
msgid "R&emember size && position"
msgstr "ウィンドウのサイズと位置を保存(&E)"
msgid "Remember size && position"
msgstr "ウィンドウのサイズと位置を保存"
msgid "Re&nderer"
msgstr "レンダラー(&N)"

View File

@@ -51,6 +51,9 @@ msgstr "창 크기 조절 가능하게 하기(&R)"
msgid "R&emember size && position"
msgstr "창 크기와 위치를 기억하기(&E)"
msgid "Remember size && position"
msgstr "창 크기와 위치를 기억하기"
msgid "Re&nderer"
msgstr "렌더러(&N)"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -51,6 +51,9 @@ msgstr "&Изменяемый размер окна"
msgid "R&emember size && position"
msgstr "&Запомнить размер и положение"
msgid "Remember size && position"
msgstr "Запомнить размер и положение"
msgid "Re&nderer"
msgstr "&Рендеринг"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -51,6 +51,9 @@ msgstr "&Змінний розмір вікна"
msgid "R&emember size && position"
msgstr "&Запам'ятати розмір і становище"
msgid "Remember size && position"
msgstr "Запам'ятати розмір і становище"
msgid "Re&nderer"
msgstr "&Рендеринг"

View File

@@ -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"

View File

@@ -51,6 +51,9 @@ msgstr "窗口大小可调(&R)"
msgid "R&emember size && position"
msgstr "记住窗口大小和位置(&E)"
msgid "Remember size && position"
msgstr "记住窗口大小和位置"
msgid "Re&nderer"
msgstr "渲染器(&N)"

View File

@@ -51,6 +51,9 @@ msgstr "視窗大小可調(&R)"
msgid "R&emember size && position"
msgstr "記住視窗大小和位置(&E)"
msgid "Remember size && position"
msgstr "記住視窗大小和位置"
msgid "Re&nderer"
msgstr "渲染器(&N)"

View File

@@ -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<int> paneSizes;
paneSizes.append(list[0].toInt());
paneSizes.append(list[1].toInt());
vmm->setPaneSizes(paneSizes);
}
QList<int> 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", "");

View File

@@ -28,7 +28,6 @@
<string>&amp;Tools</string>
</property>
<addaction name="actionPreferences"/>
<addaction name="actionRemember_size_and_position"/>
<addaction name="actionCheck_for_updates"/>
</widget>
<widget class="QMenu" name="menuFile">
@@ -187,14 +186,6 @@
<string>New machine...</string>
</property>
</action>
<action name="actionRemember_size_and_position">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>R&amp;emember size &amp;&amp; position</string>
</property>
</action>
<action name="actionPreferences">
<property name="text">
<string>&amp;Preferences...</string>

View File

@@ -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();
}

View File

@@ -92,6 +92,13 @@
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="rememberSizePositionCheckBox">
<property name="text">
<string>Remember size &amp;&amp; position</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="updateCheckBox">
<property name="text">
@@ -165,6 +172,7 @@
<tabstop>dirSelectButton</tabstop>
<tabstop>comboBoxLanguage</tabstop>
<tabstop>pushButtonLanguage</tabstop>
<tabstop>rememberSizePositionCheckBox</tabstop>
<tabstop>updateCheckBox</tabstop>
<tabstop>regexSearchCheckBox</tabstop>
</tabstops>