Avoid repeating defaults when reading settings

This commit is contained in:
Martchus 2021-08-21 01:29:07 +02:00
parent 1e084f8eae
commit f5c4bc5724
1 changed files with 20 additions and 17 deletions

View File

@ -54,7 +54,7 @@ void restore()
Settings &v = values(); Settings &v = values();
settings.beginGroup(QStringLiteral("editor")); settings.beginGroup(QStringLiteral("editor"));
switch (settings.value(QStringLiteral("adoptfields"), 0).toInt()) { switch (settings.value(QStringLiteral("adoptfields"), static_cast<int>(v.editor.adoptFields)).toInt()) {
case 1: case 1:
v.editor.adoptFields = AdoptFields::WithinDirectory; v.editor.adoptFields = AdoptFields::WithinDirectory;
break; break;
@ -65,8 +65,8 @@ void restore()
v.editor.adoptFields = AdoptFields::Never; v.editor.adoptFields = AdoptFields::Never;
break; break;
} }
v.editor.saveAndShowNextOnEnter = settings.value(QStringLiteral("saveandshownextonenter"), false).toBool(); v.editor.saveAndShowNextOnEnter = settings.value(QStringLiteral("saveandshownextonenter"), v.editor.saveAndShowNextOnEnter).toBool();
v.editor.askBeforeDeleting = settings.value(QStringLiteral("askbeforedeleting"), true).toBool(); v.editor.askBeforeDeleting = settings.value(QStringLiteral("askbeforedeleting"), v.editor.askBeforeDeleting).toBool();
switch (settings.value(QStringLiteral("multipletaghandling"), 0).toInt()) { switch (settings.value(QStringLiteral("multipletaghandling"), 0).toInt()) {
case 0: case 0:
v.editor.multipleTagHandling = MultipleTagHandling::SingleEditorPerTarget; v.editor.multipleTagHandling = MultipleTagHandling::SingleEditorPerTarget;
@ -77,7 +77,7 @@ void restore()
} }
v.editor.hideTagSelectionComboBox = settings.value(QStringLiteral("hidetagselectioncombobox"), false).toBool(); v.editor.hideTagSelectionComboBox = settings.value(QStringLiteral("hidetagselectioncombobox"), false).toBool();
settings.beginGroup(QStringLiteral("autocorrection")); settings.beginGroup(QStringLiteral("autocorrection"));
v.editor.autoCompletition.insertTitleFromFilename = settings.value(QStringLiteral("inserttitlefromfilename"), false).toBool(); v.editor.autoCompletition.insertTitleFromFilename = settings.value(QStringLiteral("inserttitlefromfilename")).toBool();
v.editor.autoCompletition.trimWhitespaces = settings.value(QStringLiteral("trimwhitespaces"), true).toBool(); v.editor.autoCompletition.trimWhitespaces = settings.value(QStringLiteral("trimwhitespaces"), true).toBool();
v.editor.autoCompletition.formatNames = settings.value(QStringLiteral("formatnames"), false).toBool(); v.editor.autoCompletition.formatNames = settings.value(QStringLiteral("formatnames"), false).toBool();
v.editor.autoCompletition.fixUmlauts = settings.value(QStringLiteral("fixumlauts"), false).toBool(); v.editor.autoCompletition.fixUmlauts = settings.value(QStringLiteral("fixumlauts"), false).toBool();
@ -88,26 +88,26 @@ void restore()
settings.endGroup(); settings.endGroup();
settings.endGroup(); settings.endGroup();
v.editor.backupDirectory = settings.value(QStringLiteral("tempdir")).toString().toStdString(); v.editor.backupDirectory = settings.value(QStringLiteral("tempdir")).toString().toStdString();
v.editor.hideCoverButtons = settings.value(QStringLiteral("hidecoverbtn"), false).toBool(); v.editor.hideCoverButtons = settings.value(QStringLiteral("hidecoverbtn"), v.editor.hideCoverButtons).toBool();
settings.endGroup(); settings.endGroup();
v.editor.fields.restore(settings, QStringLiteral("selectedfields")); v.editor.fields.restore(settings, QStringLiteral("selectedfields"));
v.editor.autoCompletition.fields.restore(settings, QStringLiteral("autocorrectionfields")); v.editor.autoCompletition.fields.restore(settings, QStringLiteral("autocorrectionfields"));
settings.beginGroup(QStringLiteral("info")); settings.beginGroup(QStringLiteral("info"));
v.editor.forceFullParse = settings.value(QStringLiteral("forcefullparse"), false).toBool(); v.editor.forceFullParse = settings.value(QStringLiteral("forcefullparse"), v.editor.forceFullParse).toBool();
#ifndef TAGEDITOR_NO_WEBVIEW #ifndef TAGEDITOR_NO_WEBVIEW
v.editor.noWebView = settings.value(QStringLiteral("nowebview"), false).toBool(); v.editor.noWebView = settings.value(QStringLiteral("nowebview"), v.editor.noWebView).toBool();
#endif #endif
settings.endGroup(); settings.endGroup();
settings.beginGroup(QStringLiteral("filebrowser")); settings.beginGroup(QStringLiteral("filebrowser"));
v.fileBrowser.hideBackupFiles = settings.value(QStringLiteral("hidebackupfiles"), true).toBool(); v.fileBrowser.hideBackupFiles = settings.value(QStringLiteral("hidebackupfiles"), v.fileBrowser.hideBackupFiles).toBool();
v.fileBrowser.readOnly = settings.value(QStringLiteral("readonly"), true).toBool(); v.fileBrowser.readOnly = settings.value(QStringLiteral("readonly"), v.fileBrowser.readOnly).toBool();
settings.endGroup(); settings.endGroup();
settings.beginGroup(QStringLiteral("tagprocessing")); settings.beginGroup(QStringLiteral("tagprocessing"));
switch (settings.value(QStringLiteral("preferredencoding"), 1).toInt()) { switch (settings.value(QStringLiteral("preferredencoding"), static_cast<int>(v.tagPocessing.preferredEncoding)).toInt()) {
case 0: case 0:
v.tagPocessing.preferredEncoding = TagParser::TagTextEncoding::Latin1; v.tagPocessing.preferredEncoding = TagParser::TagTextEncoding::Latin1;
break; break;
@ -120,14 +120,14 @@ void restore()
default: default:
v.tagPocessing.preferredEncoding = TagParser::TagTextEncoding::Utf8; v.tagPocessing.preferredEncoding = TagParser::TagTextEncoding::Utf8;
} }
switch (settings.value(QStringLiteral("unsupportedfieldhandling"), 0).toInt()) { switch (settings.value(QStringLiteral("unsupportedfieldhandling"), static_cast<int>(v.tagPocessing.unsupportedFieldHandling)).toInt()) {
case 1: case 1:
v.tagPocessing.unsupportedFieldHandling = UnsupportedFieldHandling::Discard; v.tagPocessing.unsupportedFieldHandling = UnsupportedFieldHandling::Discard;
break; break;
default: default:
v.tagPocessing.unsupportedFieldHandling = UnsupportedFieldHandling::Ignore; v.tagPocessing.unsupportedFieldHandling = UnsupportedFieldHandling::Ignore;
} }
v.tagPocessing.autoTagManagement = settings.value(QStringLiteral("autotagmanagement"), true).toBool(); v.tagPocessing.autoTagManagement = settings.value(QStringLiteral("autotagmanagement"), v.tagPocessing.autoTagManagement).toBool();
v.tagPocessing.preserveModificationTime v.tagPocessing.preserveModificationTime
= settings.value(QStringLiteral("preservemodificationtime"), v.tagPocessing.preserveModificationTime).toBool(); = settings.value(QStringLiteral("preservemodificationtime"), v.tagPocessing.preserveModificationTime).toBool();
settings.beginGroup(QStringLiteral("id3v1")); settings.beginGroup(QStringLiteral("id3v1"));
@ -184,9 +184,12 @@ void restore()
break; break;
} }
v.tagPocessing.fileLayout.forceIndexPosition = settings.value(QStringLiteral("forceindexpos"), true).toBool(); v.tagPocessing.fileLayout.forceIndexPosition = settings.value(QStringLiteral("forceindexpos"), true).toBool();
v.tagPocessing.fileLayout.minPadding = settings.value(QStringLiteral("minpad"), 0).toUInt(); v.tagPocessing.fileLayout.minPadding
v.tagPocessing.fileLayout.maxPadding = settings.value(QStringLiteral("maxpad"), 0).toUInt(); = settings.value(QStringLiteral("minpad"), static_cast<qulonglong>(v.tagPocessing.fileLayout.minPadding)).toULongLong();
v.tagPocessing.fileLayout.preferredPadding = settings.value(QStringLiteral("prefpad"), 0).toUInt(); v.tagPocessing.fileLayout.maxPadding
= settings.value(QStringLiteral("maxpad"), static_cast<qulonglong>(v.tagPocessing.fileLayout.maxPadding)).toULongLong();
v.tagPocessing.fileLayout.preferredPadding
= settings.value(QStringLiteral("prefpad"), static_cast<qulonglong>(v.tagPocessing.fileLayout.preferredPadding)).toULongLong();
settings.endGroup(); settings.endGroup();
settings.endGroup(); settings.endGroup();
@ -198,8 +201,8 @@ void restore()
settings.endGroup(); settings.endGroup();
settings.beginGroup(QStringLiteral("dbquery")); settings.beginGroup(QStringLiteral("dbquery"));
v.dbQuery.widgetShown = settings.value(QStringLiteral("visible"), false).toBool(); v.dbQuery.widgetShown = settings.value(QStringLiteral("visible"), v.dbQuery.widgetShown).toBool();
v.dbQuery.override = settings.value(QStringLiteral("override"), true).toBool(); v.dbQuery.override = settings.value(QStringLiteral("override"), v.dbQuery.override).toBool();
v.dbQuery.fields.restore(settings, QStringLiteral("fields")); v.dbQuery.fields.restore(settings, QStringLiteral("fields"));
v.dbQuery.musicBrainzUrl = settings.value(QStringLiteral("musicbrainzurl")).toString(); v.dbQuery.musicBrainzUrl = settings.value(QStringLiteral("musicbrainzurl")).toString();
v.dbQuery.lyricsWikiaUrl = settings.value(QStringLiteral("lyricwikiurl")).toString(); v.dbQuery.lyricsWikiaUrl = settings.value(QStringLiteral("lyricwikiurl")).toString();