Use radio buttons for Instance Renaming Mode

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad 2025-08-03 12:07:57 +01:00
parent 79b7e277f1
commit 6ab1a246cb
No known key found for this signature in database
GPG Key ID: 5E39D70B4C93C38E
2 changed files with 98 additions and 78 deletions

View File

@ -65,15 +65,6 @@ enum InstSortMode {
Sort_LastLaunch 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) LauncherPage::LauncherPage(QWidget* parent) : QWidget(parent), ui(new Ui::LauncherPage)
{ {
ui->setupUi(this); ui->setupUi(this);
@ -242,18 +233,12 @@ void LauncherPage::applySettings()
break; break;
} }
auto renamingMode = (InstRenamingMode)ui->renamingBehaviorComboBox->currentIndex(); if (ui->askToRenameDirBtn->isChecked()) {
switch (renamingMode) { s->set("InstRenamingMode", "AskEverytime");
case Rename_Always: } else if (ui->alwaysRenameDirBtn->isChecked()) {
s->set("InstRenamingMode", "MetadataOnly"); s->set("InstRenamingMode", "PhysicalDir");
break; } else if (ui->neverRenameDirBtn->isChecked()) {
case Rename_Never: s->set("InstRenamingMode", "MetadataOnly");
s->set("InstRenamingMode", "PhysicalDir");
break;
case Rename_Ask:
default:
s->set("InstRenamingMode", "AskEverytime");
break;
} }
// Mods // Mods
@ -300,15 +285,9 @@ void LauncherPage::loadSettings()
} }
QString renamingMode = s->get("InstRenamingMode").toString(); QString renamingMode = s->get("InstRenamingMode").toString();
InstRenamingMode renamingModeEnum; ui->askToRenameDirBtn->setChecked(renamingMode == "AskEverytime");
if (renamingMode == "MetadataOnly") { ui->alwaysRenameDirBtn->setChecked(renamingMode == "PhysicalDir");
renamingModeEnum = Rename_Always; ui->neverRenameDirBtn->setChecked(renamingMode == "MetadataOnly");
} else if (renamingMode == "PhysicalDir") {
renamingModeEnum = Rename_Never;
} else {
renamingModeEnum = Rename_Ask;
}
ui->renamingBehaviorComboBox->setCurrentIndex(renamingModeEnum);
// Mods // Mods
ui->metadataEnableBtn->setChecked(!s->get("ModMetadataDisabled").toBool()); ui->metadataEnableBtn->setChecked(!s->get("ModMetadataDisabled").toBool());

View File

@ -32,7 +32,7 @@
<item> <item>
<widget class="QScrollArea" name="scrollArea"> <widget class="QScrollArea" name="scrollArea">
<property name="horizontalScrollBarPolicy"> <property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAsNeeded</enum> <enum>Qt::ScrollBarPolicy::ScrollBarAsNeeded</enum>
</property> </property>
<property name="widgetResizable"> <property name="widgetResizable">
<bool>true</bool> <bool>true</bool>
@ -41,9 +41,9 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>-356</y> <y>0</y>
<width>742</width> <width>746</width>
<height>1148</height> <height>1202</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_8"> <layout class="QVBoxLayout" name="verticalLayout_8">
@ -64,32 +64,56 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QRadioButton" name="sortByNameBtn"> <widget class="QGroupBox" name="instanceSortBox">
<property name="text"> <property name="title">
<string>By &amp;name</string> <string/>
</property> </property>
<attribute name="buttonGroup"> <property name="flat">
<string notr="true">sortingModeGroup</string> <bool>true</bool>
</attribute>
</widget>
</item>
<item>
<widget class="QRadioButton" name="sortLastLaunchedBtn">
<property name="text">
<string>&amp;By last launched</string>
</property> </property>
<attribute name="buttonGroup"> <layout class="QVBoxLayout" name="verticalLayout_3">
<string notr="true">sortingModeGroup</string> <property name="leftMargin">
</attribute> <number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QRadioButton" name="sortByNameBtn">
<property name="text">
<string>By &amp;name</string>
</property>
<attribute name="buttonGroup">
<string notr="true">sortingModeGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QRadioButton" name="sortLastLaunchedBtn">
<property name="text">
<string>&amp;By last launched</string>
</property>
<attribute name="buttonGroup">
<string notr="true">sortingModeGroup</string>
</attribute>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeType"> <property name="sizeType">
<enum>QSizePolicy::Fixed</enum> <enum>QSizePolicy::Policy::Fixed</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -107,37 +131,57 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QComboBox" name="renamingBehaviorComboBox"> <widget class="QGroupBox" name="groupBox">
<property name="sizePolicy"> <property name="title">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed"> <string/>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<item> <property name="flat">
<property name="text"> <bool>true</bool>
<string>Ask what to do with the folder</string> </property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="leftMargin">
<number>0</number>
</property> </property>
</item> <property name="topMargin">
<item> <number>0</number>
<property name="text">
<string>Always rename the folder</string>
</property> </property>
</item> <property name="rightMargin">
<item> <number>0</number>
<property name="text">
<string>Never rename the folder—only the displayed name</string>
</property> </property>
</item> <property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QRadioButton" name="askToRenameDirBtn">
<property name="text">
<string>Ask what to do</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="alwaysRenameDirBtn">
<property name="text">
<string>Always rename the folder</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="neverRenameDirBtn">
<property name="text">
<string>Never rename the folder</string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeType"> <property name="sizeType">
<enum>QSizePolicy::Fixed</enum> <enum>QSizePolicy::Policy::Fixed</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -206,7 +250,7 @@
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -433,7 +477,7 @@
</property> </property>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
<property name="labelAlignment"> <property name="labelAlignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
</property> </property>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="lineLimitLabel"> <widget class="QLabel" name="lineLimitLabel">
@ -602,7 +646,7 @@
<item row="0" column="2"> <item row="0" column="2">
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -618,7 +662,7 @@
<item> <item>
<spacer name="verticalSpacer_FeaturesTab"> <spacer name="verticalSpacer_FeaturesTab">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -636,9 +680,6 @@
</widget> </widget>
<tabstops> <tabstops>
<tabstop>scrollArea</tabstop> <tabstop>scrollArea</tabstop>
<tabstop>sortByNameBtn</tabstop>
<tabstop>sortLastLaunchedBtn</tabstop>
<tabstop>renamingBehaviorComboBox</tabstop>
<tabstop>preferMenuBarCheckBox</tabstop> <tabstop>preferMenuBarCheckBox</tabstop>
<tabstop>autoUpdateCheckBox</tabstop> <tabstop>autoUpdateCheckBox</tabstop>
<tabstop>updateIntervalSpinBox</tabstop> <tabstop>updateIntervalSpinBox</tabstop>