Merge remote-tracking branch 'upstream/develop' into rework-settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
@@ -65,6 +65,15 @@ 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);
|
||||
@@ -221,6 +230,7 @@ void LauncherPage::applySettings()
|
||||
s->set("DownloadsDirWatchRecursive", ui->downloadsDirWatchRecursiveCheckBox->isChecked());
|
||||
s->set("MoveModsFromDownloadsDir", ui->downloadsDirMoveCheckBox->isChecked());
|
||||
|
||||
// Instance
|
||||
auto sortMode = (InstSortMode)ui->sortingModeGroup->checkedId();
|
||||
switch (sortMode) {
|
||||
case Sort_LastLaunch:
|
||||
@@ -232,6 +242,20 @@ 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;
|
||||
}
|
||||
|
||||
// Mods
|
||||
s->set("ModMetadataDisabled", !ui->metadataEnableBtn->isChecked());
|
||||
s->set("ModDependenciesDisabled", !ui->dependenciesEnableBtn->isChecked());
|
||||
@@ -267,14 +291,25 @@ void LauncherPage::loadSettings()
|
||||
ui->downloadsDirWatchRecursiveCheckBox->setChecked(s->get("DownloadsDirWatchRecursive").toBool());
|
||||
ui->downloadsDirMoveCheckBox->setChecked(s->get("MoveModsFromDownloadsDir").toBool());
|
||||
|
||||
// Instance
|
||||
QString sortMode = s->get("InstSortMode").toString();
|
||||
|
||||
if (sortMode == "LastLaunch") {
|
||||
ui->sortLastLaunchedBtn->setChecked(true);
|
||||
} else {
|
||||
ui->sortByNameBtn->setChecked(true);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
// Mods
|
||||
ui->metadataEnableBtn->setChecked(!s->get("ModMetadataDisabled").toBool());
|
||||
ui->metadataWarningLabel->setHidden(ui->metadataEnableBtn->isChecked());
|
||||
|
||||
Reference in New Issue
Block a user