From 6ab1a246cb63e3d2e9c177f63c16eef000a29754 Mon Sep 17 00:00:00 2001 From: TheKodeToad Date: Sun, 3 Aug 2025 12:07:57 +0100 Subject: [PATCH] Use radio buttons for Instance Renaming Mode Signed-off-by: TheKodeToad --- launcher/ui/pages/global/LauncherPage.cpp | 39 ++---- launcher/ui/pages/global/LauncherPage.ui | 137 ++++++++++++++-------- 2 files changed, 98 insertions(+), 78 deletions(-) diff --git a/launcher/ui/pages/global/LauncherPage.cpp b/launcher/ui/pages/global/LauncherPage.cpp index 132a2c320..7a0f11c83 100644 --- a/launcher/ui/pages/global/LauncherPage.cpp +++ b/launcher/ui/pages/global/LauncherPage.cpp @@ -65,15 +65,6 @@ enum InstSortMode { Sort_LastLaunch }; -enum InstRenamingMode { - // Rename metadata only. - Rename_Always, - // Ask everytime. - Rename_Ask, - // Rename physical directory too. - Rename_Never -}; - LauncherPage::LauncherPage(QWidget* parent) : QWidget(parent), ui(new Ui::LauncherPage) { ui->setupUi(this); @@ -242,18 +233,12 @@ void LauncherPage::applySettings() break; } - auto renamingMode = (InstRenamingMode)ui->renamingBehaviorComboBox->currentIndex(); - switch (renamingMode) { - case Rename_Always: - s->set("InstRenamingMode", "MetadataOnly"); - break; - case Rename_Never: - s->set("InstRenamingMode", "PhysicalDir"); - break; - case Rename_Ask: - default: - s->set("InstRenamingMode", "AskEverytime"); - break; + if (ui->askToRenameDirBtn->isChecked()) { + s->set("InstRenamingMode", "AskEverytime"); + } else if (ui->alwaysRenameDirBtn->isChecked()) { + s->set("InstRenamingMode", "PhysicalDir"); + } else if (ui->neverRenameDirBtn->isChecked()) { + s->set("InstRenamingMode", "MetadataOnly"); } // Mods @@ -300,15 +285,9 @@ void LauncherPage::loadSettings() } QString renamingMode = s->get("InstRenamingMode").toString(); - InstRenamingMode renamingModeEnum; - if (renamingMode == "MetadataOnly") { - renamingModeEnum = Rename_Always; - } else if (renamingMode == "PhysicalDir") { - renamingModeEnum = Rename_Never; - } else { - renamingModeEnum = Rename_Ask; - } - ui->renamingBehaviorComboBox->setCurrentIndex(renamingModeEnum); + ui->askToRenameDirBtn->setChecked(renamingMode == "AskEverytime"); + ui->alwaysRenameDirBtn->setChecked(renamingMode == "PhysicalDir"); + ui->neverRenameDirBtn->setChecked(renamingMode == "MetadataOnly"); // Mods ui->metadataEnableBtn->setChecked(!s->get("ModMetadataDisabled").toBool()); diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui index 55478e6a0..c04d904cf 100644 --- a/launcher/ui/pages/global/LauncherPage.ui +++ b/launcher/ui/pages/global/LauncherPage.ui @@ -32,7 +32,7 @@ - Qt::ScrollBarAsNeeded + Qt::ScrollBarPolicy::ScrollBarAsNeeded true @@ -41,9 +41,9 @@ 0 - -356 - 742 - 1148 + 0 + 746 + 1202 @@ -64,32 +64,56 @@ - - - By &name + + + - - sortingModeGroup - - - - - - - &By last launched + + true - - sortingModeGroup - + + + 0 + + + 0 + + + 0 + + + 0 + + + + + By &name + + + sortingModeGroup + + + + + + + &By last launched + + + sortingModeGroup + + + + - Qt::Vertical + Qt::Orientation::Vertical - QSizePolicy::Fixed + QSizePolicy::Policy::Fixed @@ -107,37 +131,57 @@ - - - - 0 - 0 - + + + - - - Ask what to do with the folder + + true + + + + 0 - - - - Always rename the folder + + 0 - - - - Never rename the folder—only the displayed name + + 0 - + + 0 + + + + + Ask what to do + + + + + + + Always rename the folder + + + + + + + Never rename the folder + + + + - Qt::Vertical + Qt::Orientation::Vertical - QSizePolicy::Fixed + QSizePolicy::Policy::Fixed @@ -206,7 +250,7 @@ - Qt::Horizontal + Qt::Orientation::Horizontal @@ -433,7 +477,7 @@ - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter @@ -602,7 +646,7 @@ - Qt::Horizontal + Qt::Orientation::Horizontal @@ -618,7 +662,7 @@ - Qt::Vertical + Qt::Orientation::Vertical @@ -636,9 +680,6 @@ scrollArea - sortByNameBtn - sortLastLaunchedBtn - renamingBehaviorComboBox preferMenuBarCheckBox autoUpdateCheckBox updateIntervalSpinBox