tageditor/application/settings.cpp

329 lines
18 KiB
C++
Raw Normal View History

2015-09-06 20:20:00 +02:00
#include "./settings.h"
#include "./knownfieldmodel.h"
2016-05-26 02:15:41 +02:00
#include "./targetlevelmodel.h"
2015-04-22 19:33:53 +02:00
2017-02-20 19:41:15 +01:00
#include "resources/config.h"
2018-03-11 18:58:50 +01:00
#include <tagparser/backuphelper.h>
2015-04-22 19:33:53 +02:00
#include <tagparser/mediafileinfo.h>
2016-03-03 22:21:15 +01:00
#include <tagparser/tag.h>
2015-04-22 19:33:53 +02:00
#include <qtutilities/resources/resources.h>
2015-04-22 19:33:53 +02:00
#include <QApplication>
2017-02-20 19:41:15 +01:00
#include <QFile>
2018-03-11 18:58:50 +01:00
#include <QSettings>
2015-04-22 19:33:53 +02:00
2019-06-10 22:49:46 +02:00
using namespace QtUtilities;
2018-03-06 23:10:13 +01:00
using namespace TagParser;
2015-04-22 19:33:53 +02:00
namespace Settings {
2018-03-11 18:58:50 +01:00
AutoCompletition::AutoCompletition()
: fields(nullptr, KnownFieldModel::DefaultSelection::None)
{
}
2015-04-22 19:33:53 +02:00
2018-03-11 18:58:50 +01:00
Editor::Editor()
: fields(nullptr, KnownFieldModel::DefaultSelection::CommonFields)
, defaultTargets(nullptr, TargetLevelModel::DefaultSelection::MostUsefulTargets)
{
}
2015-04-22 19:33:53 +02:00
2018-03-11 18:58:50 +01:00
DbQuery::DbQuery()
2019-06-10 22:49:46 +02:00
: fields(QList<ChecklistItem>() << KnownFieldModel::mkItem(KnownField::Title) << KnownFieldModel::mkItem(KnownField::TrackPosition)
2019-06-12 20:47:44 +02:00
<< KnownFieldModel::mkItem(KnownField::DiskPosition) << KnownFieldModel::mkItem(KnownField::Album)
2021-02-01 17:11:48 +01:00
<< KnownFieldModel::mkItem(KnownField::Artist) << KnownFieldModel::mkItem(KnownField::RecordDate)
2019-06-12 20:47:44 +02:00
<< KnownFieldModel::mkItem(KnownField::Genre) << KnownFieldModel::mkItem(KnownField::Cover, Qt::Unchecked)
<< KnownFieldModel::mkItem(KnownField::Lyrics, Qt::Unchecked))
2018-03-11 18:58:50 +01:00
{
}
2015-11-21 01:13:45 +01:00
2016-10-24 20:15:10 +02:00
Settings &values()
2015-11-21 01:13:45 +01:00
{
2016-10-24 20:15:10 +02:00
static Settings settings;
return settings;
2016-08-14 22:49:47 +02:00
}
2015-04-22 19:33:53 +02:00
void restore()
{
auto s = QtUtilities::getSettings(QStringLiteral(PROJECT_NAME));
auto &settings = *s;
auto &v = values();
v.error = QtUtilities::errorMessageForSettings(settings);
2015-04-22 19:33:53 +02:00
settings.beginGroup(QStringLiteral("editor"));
switch (settings.value(QStringLiteral("adoptfields"), static_cast<int>(v.editor.adoptFields)).toInt()) {
2015-04-22 19:33:53 +02:00
case 1:
2016-10-24 20:15:10 +02:00
v.editor.adoptFields = AdoptFields::WithinDirectory;
2015-04-22 19:33:53 +02:00
break;
case 2:
2016-10-24 20:15:10 +02:00
v.editor.adoptFields = AdoptFields::Always;
2015-04-22 19:33:53 +02:00
break;
default:
2016-10-24 20:15:10 +02:00
v.editor.adoptFields = AdoptFields::Never;
2015-04-22 19:33:53 +02:00
break;
2019-06-10 22:49:46 +02:00
}
v.editor.saveAndShowNextOnEnter = settings.value(QStringLiteral("saveandshownextonenter"), v.editor.saveAndShowNextOnEnter).toBool();
v.editor.askBeforeDeleting = settings.value(QStringLiteral("askbeforedeleting"), v.editor.askBeforeDeleting).toBool();
2018-03-11 18:58:50 +01:00
switch (settings.value(QStringLiteral("multipletaghandling"), 0).toInt()) {
2015-04-22 19:33:53 +02:00
case 0:
2016-10-24 20:15:10 +02:00
v.editor.multipleTagHandling = MultipleTagHandling::SingleEditorPerTarget;
2015-04-22 19:33:53 +02:00
break;
case 1:
2016-10-24 20:15:10 +02:00
v.editor.multipleTagHandling = MultipleTagHandling::SeparateEditors;
2015-04-22 19:33:53 +02:00
break;
}
2016-10-24 20:15:10 +02:00
v.editor.hideTagSelectionComboBox = settings.value(QStringLiteral("hidetagselectioncombobox"), false).toBool();
2015-04-22 19:33:53 +02:00
settings.beginGroup(QStringLiteral("autocorrection"));
v.editor.autoCompletition.insertTitleFromFilename = settings.value(QStringLiteral("inserttitlefromfilename")).toBool();
2016-10-24 20:15:10 +02:00
v.editor.autoCompletition.trimWhitespaces = settings.value(QStringLiteral("trimwhitespaces"), true).toBool();
v.editor.autoCompletition.formatNames = settings.value(QStringLiteral("formatnames"), false).toBool();
v.editor.autoCompletition.fixUmlauts = settings.value(QStringLiteral("fixumlauts"), false).toBool();
settings.beginGroup(QStringLiteral("customsubst"));
v.editor.autoCompletition.customSubstitution.enabled = settings.value(QStringLiteral("enabled")).toBool();
v.editor.autoCompletition.customSubstitution.regex = settings.value(QStringLiteral("regex")).toRegularExpression();
v.editor.autoCompletition.customSubstitution.replacement = settings.value(QStringLiteral("replacement")).toString();
settings.endGroup();
2015-04-22 19:33:53 +02:00
settings.endGroup();
2018-07-10 16:35:50 +02:00
v.editor.backupDirectory = settings.value(QStringLiteral("tempdir")).toString().toStdString();
v.editor.hideCoverButtons = settings.value(QStringLiteral("hidecoverbtn"), v.editor.hideCoverButtons).toBool();
2015-04-22 19:33:53 +02:00
settings.endGroup();
2016-10-24 20:15:10 +02:00
v.editor.fields.restore(settings, QStringLiteral("selectedfields"));
v.editor.autoCompletition.fields.restore(settings, QStringLiteral("autocorrectionfields"));
2015-04-22 19:33:53 +02:00
settings.beginGroup(QStringLiteral("info"));
v.editor.forceFullParse = settings.value(QStringLiteral("forcefullparse"), v.editor.forceFullParse).toBool();
#ifndef TAGEDITOR_NO_WEBVIEW
v.editor.noWebView = settings.value(QStringLiteral("nowebview"), v.editor.noWebView).toBool();
#endif
2015-04-22 19:33:53 +02:00
settings.endGroup();
settings.beginGroup(QStringLiteral("filebrowser"));
v.fileBrowser.hideBackupFiles = settings.value(QStringLiteral("hidebackupfiles"), v.fileBrowser.hideBackupFiles).toBool();
v.fileBrowser.readOnly = settings.value(QStringLiteral("readonly"), v.fileBrowser.readOnly).toBool();
2015-04-22 19:33:53 +02:00
settings.endGroup();
settings.beginGroup(QStringLiteral("tagprocessing"));
switch (settings.value(QStringLiteral("preferredencoding"), static_cast<int>(v.tagPocessing.preferredEncoding)).toInt()) {
2015-04-22 19:33:53 +02:00
case 0:
2018-03-06 23:10:13 +01:00
v.tagPocessing.preferredEncoding = TagParser::TagTextEncoding::Latin1;
2015-04-22 19:33:53 +02:00
break;
case 2:
2018-03-06 23:10:13 +01:00
v.tagPocessing.preferredEncoding = TagParser::TagTextEncoding::Utf16BigEndian;
2015-04-22 19:33:53 +02:00
break;
case 3:
2018-03-06 23:10:13 +01:00
v.tagPocessing.preferredEncoding = TagParser::TagTextEncoding::Utf16LittleEndian;
2015-04-22 19:33:53 +02:00
break;
default:
2018-03-06 23:10:13 +01:00
v.tagPocessing.preferredEncoding = TagParser::TagTextEncoding::Utf8;
2019-06-10 22:49:46 +02:00
}
switch (settings.value(QStringLiteral("unsupportedfieldhandling"), static_cast<int>(v.tagPocessing.unsupportedFieldHandling)).toInt()) {
2015-04-22 19:33:53 +02:00
case 1:
2016-10-24 20:15:10 +02:00
v.tagPocessing.unsupportedFieldHandling = UnsupportedFieldHandling::Discard;
2015-04-22 19:33:53 +02:00
break;
default:
2016-10-24 20:15:10 +02:00
v.tagPocessing.unsupportedFieldHandling = UnsupportedFieldHandling::Ignore;
2019-06-10 22:49:46 +02:00
}
v.tagPocessing.autoTagManagement = settings.value(QStringLiteral("autotagmanagement"), v.tagPocessing.autoTagManagement).toBool();
v.tagPocessing.preserveModificationTime
= settings.value(QStringLiteral("preservemodificationtime"), v.tagPocessing.preserveModificationTime).toBool();
v.tagPocessing.preserveMuxingApp = settings.value(QStringLiteral("preservemuxingapp"), v.tagPocessing.preserveMuxingApp).toBool();
v.tagPocessing.preserveWritingApp = settings.value(QStringLiteral("preservewritingapp"), v.tagPocessing.preserveWritingApp).toBool();
v.tagPocessing.convertTotalFields = settings.value(QStringLiteral("converttotalfields"), v.tagPocessing.convertTotalFields).toBool();
2015-04-22 19:33:53 +02:00
settings.beginGroup(QStringLiteral("id3v1"));
2018-03-11 18:58:50 +01:00
switch (settings.value(QStringLiteral("usage"), 0).toInt()) {
2015-04-22 19:33:53 +02:00
case 1:
2018-03-11 18:58:50 +01:00
v.tagPocessing.creationSettings.id3v1usage = TagUsage::KeepExisting;
2015-04-22 19:33:53 +02:00
break;
case 2:
2018-03-11 18:58:50 +01:00
v.tagPocessing.creationSettings.id3v1usage = TagUsage::Never;
2015-04-22 19:33:53 +02:00
break;
default:
2018-03-11 18:58:50 +01:00
v.tagPocessing.creationSettings.id3v1usage = TagUsage::Always;
2015-04-22 19:33:53 +02:00
break;
2019-06-10 22:49:46 +02:00
}
2015-04-22 19:33:53 +02:00
settings.endGroup();
settings.beginGroup(QStringLiteral("id3v2"));
2018-03-11 18:58:50 +01:00
switch (settings.value(QStringLiteral("usage"), 0).toInt()) {
2015-04-22 19:33:53 +02:00
case 1:
2018-03-11 18:58:50 +01:00
v.tagPocessing.creationSettings.id3v2usage = TagUsage::KeepExisting;
2015-04-22 19:33:53 +02:00
break;
case 2:
2018-03-11 18:58:50 +01:00
v.tagPocessing.creationSettings.id3v2usage = TagUsage::Never;
2015-04-22 19:33:53 +02:00
break;
default:
2018-03-11 18:58:50 +01:00
v.tagPocessing.creationSettings.id3v2usage = TagUsage::Always;
2019-06-10 22:49:46 +02:00
}
2019-03-13 19:07:51 +01:00
v.tagPocessing.creationSettings.id3v2MajorVersion = static_cast<std::uint8_t>(settings.value(QStringLiteral("versiontobeused")).toUInt());
2018-03-11 18:58:50 +01:00
if (v.tagPocessing.creationSettings.id3v2MajorVersion < 1 || v.tagPocessing.creationSettings.id3v2MajorVersion > 4) {
v.tagPocessing.creationSettings.id3v2MajorVersion = 3;
}
v.tagPocessing.creationSettings.setFlag(
TagCreationFlags::KeepExistingId3v2Version, settings.value(QStringLiteral("keepversionofexistingtag"), true).toBool());
v.tagPocessing.creationSettings.setFlag(
TagCreationFlags::MergeMultipleSuccessiveId3v2Tags, settings.value(QStringLiteral("mergemultiplesuccessivetags"), true).toBool());
2015-04-22 19:33:53 +02:00
settings.endGroup();
2016-10-24 20:15:10 +02:00
v.editor.defaultTargets.restore(settings, QStringLiteral("targets"));
2015-11-21 01:13:45 +01:00
settings.beginGroup(QStringLiteral("filelayout"));
2016-10-24 20:15:10 +02:00
v.tagPocessing.fileLayout.forceRewrite = settings.value(QStringLiteral("forcerewrite"), true).toBool();
2018-03-11 18:58:50 +01:00
switch (settings.value(QStringLiteral("tagpos")).toInt()) {
2015-11-21 01:13:45 +01:00
case 0:
2016-10-24 20:15:10 +02:00
v.tagPocessing.fileLayout.preferredTagPosition = ElementPosition::BeforeData;
2015-11-21 01:13:45 +01:00
break;
case 1:
2016-10-24 20:15:10 +02:00
v.tagPocessing.fileLayout.preferredTagPosition = ElementPosition::AfterData;
2015-11-21 01:13:45 +01:00
break;
}
2016-10-24 20:15:10 +02:00
v.tagPocessing.fileLayout.forceTagPosition = settings.value(QStringLiteral("forcetagpos"), true).toBool();
2018-03-11 18:58:50 +01:00
switch (settings.value(QStringLiteral("indexpos")).toInt()) {
2015-11-25 22:09:57 +01:00
case 0:
2016-10-24 20:15:10 +02:00
v.tagPocessing.fileLayout.preferredIndexPosition = ElementPosition::BeforeData;
2015-11-25 22:09:57 +01:00
break;
case 1:
2016-10-24 20:15:10 +02:00
v.tagPocessing.fileLayout.preferredIndexPosition = ElementPosition::AfterData;
2015-11-25 22:09:57 +01:00
break;
}
2016-10-24 20:15:10 +02:00
v.tagPocessing.fileLayout.forceIndexPosition = settings.value(QStringLiteral("forceindexpos"), true).toBool();
v.tagPocessing.fileLayout.minPadding
= settings.value(QStringLiteral("minpad"), static_cast<qulonglong>(v.tagPocessing.fileLayout.minPadding)).toULongLong();
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();
2015-11-21 01:13:45 +01:00
settings.endGroup();
2015-04-22 19:33:53 +02:00
settings.endGroup();
settings.beginGroup(QStringLiteral("mainwindow"));
2016-10-24 20:15:10 +02:00
v.mainWindow.geometry = settings.value(QStringLiteral("geometry")).toByteArray();
v.mainWindow.state = settings.value(QStringLiteral("windowstate")).toByteArray();
v.mainWindow.currentFileBrowserDirectory = settings.value(QStringLiteral("currentfilebrowserdirectory")).toString();
v.mainWindow.layoutLocked = settings.value(QStringLiteral("layoutlocked"), v.mainWindow.layoutLocked).toBool();
2016-03-03 22:21:15 +01:00
settings.endGroup();
settings.beginGroup(QStringLiteral("dbquery"));
v.dbQuery.widgetShown = settings.value(QStringLiteral("visible"), v.dbQuery.widgetShown).toBool();
v.dbQuery.override = settings.value(QStringLiteral("override"), v.dbQuery.override).toBool();
2016-10-24 20:15:10 +02:00
v.dbQuery.fields.restore(settings, QStringLiteral("fields"));
v.dbQuery.musicBrainzUrl = settings.value(QStringLiteral("musicbrainzurl")).toString();
2019-04-16 23:08:54 +02:00
v.dbQuery.lyricsWikiaUrl = settings.value(QStringLiteral("lyricwikiurl")).toString();
v.dbQuery.makeItPersonalUrl = settings.value(QStringLiteral("makeitpersonalurl")).toString();
v.dbQuery.tekstowoUrl = settings.value(QStringLiteral("tekstowourl")).toString();
2016-10-24 20:15:10 +02:00
v.dbQuery.coverArtArchiveUrl = settings.value(QStringLiteral("coverartarchiveurl")).toString();
2015-04-22 19:33:53 +02:00
settings.endGroup();
2016-01-09 03:38:58 +01:00
settings.beginGroup(QStringLiteral("renamedlg"));
2016-10-24 20:15:10 +02:00
v.renamingUtility.scriptSource = settings.value(QStringLiteral("src")).toInt();
v.renamingUtility.externalScript = settings.value(QStringLiteral("file")).toString();
v.renamingUtility.editorScript = settings.value(QStringLiteral("script")).toString();
2016-01-09 03:38:58 +01:00
settings.endGroup();
2016-08-14 22:49:47 +02:00
2016-10-24 20:15:10 +02:00
v.qt.restore(settings);
2015-04-22 19:33:53 +02:00
}
void save()
{
auto s = QtUtilities::getSettings(QStringLiteral(PROJECT_NAME));
auto &settings = *s;
auto &v = values();
2015-04-22 19:33:53 +02:00
settings.beginGroup(QStringLiteral("editor"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("adoptfields"), static_cast<int>(v.editor.adoptFields));
settings.setValue(QStringLiteral("saveandshownextonenter"), v.editor.saveAndShowNextOnEnter);
settings.setValue(QStringLiteral("askbeforedeleting"), v.editor.askBeforeDeleting);
settings.setValue(QStringLiteral("multipletaghandling"), static_cast<int>(v.editor.multipleTagHandling));
settings.setValue(QStringLiteral("hidetagselectioncombobox"), v.editor.hideTagSelectionComboBox);
2015-04-22 19:33:53 +02:00
settings.beginGroup(QStringLiteral("autocorrection"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("inserttitlefromfilename"), v.editor.autoCompletition.insertTitleFromFilename);
settings.setValue(QStringLiteral("trimwhitespaces"), v.editor.autoCompletition.trimWhitespaces);
settings.setValue(QStringLiteral("formatnames"), v.editor.autoCompletition.formatNames);
settings.setValue(QStringLiteral("fixumlauts"), v.editor.autoCompletition.fixUmlauts);
settings.beginGroup(QStringLiteral("customsubst"));
settings.setValue(QStringLiteral("enabled"), v.editor.autoCompletition.customSubstitution.enabled);
settings.setValue(QStringLiteral("regex"), v.editor.autoCompletition.customSubstitution.regex);
settings.setValue(QStringLiteral("replacement"), v.editor.autoCompletition.customSubstitution.replacement);
settings.endGroup();
2015-04-22 19:33:53 +02:00
settings.endGroup();
2018-07-10 16:35:50 +02:00
settings.setValue(QStringLiteral("tempdir"), QString::fromStdString(v.editor.backupDirectory));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("hidecoverbtn"), v.editor.hideCoverButtons);
2015-04-22 19:33:53 +02:00
settings.endGroup();
2016-10-24 20:15:10 +02:00
v.editor.fields.save(settings, QStringLiteral("selectedfields"));
v.editor.autoCompletition.fields.save(settings, QStringLiteral("autocorrectionfields"));
2015-04-22 19:33:53 +02:00
settings.beginGroup(QStringLiteral("info"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("forcefullparse"), v.editor.forceFullParse);
#ifndef TAGEDITOR_NO_WEBVIEW
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("nowebview"), v.editor.noWebView);
#endif
2015-04-22 19:33:53 +02:00
settings.endGroup();
settings.beginGroup(QStringLiteral("filebrowser"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("hidebackupfiles"), v.fileBrowser.hideBackupFiles);
settings.setValue(QStringLiteral("readonly"), v.fileBrowser.readOnly);
2015-04-22 19:33:53 +02:00
settings.endGroup();
settings.beginGroup(QStringLiteral("tagprocessing"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("preferredencoding"), static_cast<int>(v.tagPocessing.preferredEncoding));
settings.setValue(QStringLiteral("unsupportedfieldhandling"), static_cast<int>(v.tagPocessing.unsupportedFieldHandling));
settings.setValue(QStringLiteral("autotagmanagement"), v.tagPocessing.autoTagManagement);
settings.setValue(QStringLiteral("preservemodificationtime"), v.tagPocessing.preserveModificationTime);
settings.setValue(QStringLiteral("preservemuxingapp"), v.tagPocessing.preserveMuxingApp);
settings.setValue(QStringLiteral("preservewritingapp"), v.tagPocessing.preserveWritingApp);
settings.setValue(QStringLiteral("converttotalfields"), v.tagPocessing.convertTotalFields);
2015-04-22 19:33:53 +02:00
settings.beginGroup(QStringLiteral("id3v1"));
2018-03-11 18:58:50 +01:00
settings.setValue(QStringLiteral("usage"), static_cast<int>(v.tagPocessing.creationSettings.id3v1usage));
2015-04-22 19:33:53 +02:00
settings.endGroup();
settings.beginGroup(QStringLiteral("id3v2"));
2018-03-11 18:58:50 +01:00
settings.setValue(QStringLiteral("usage"), static_cast<int>(v.tagPocessing.creationSettings.id3v2usage));
settings.setValue(QStringLiteral("versiontobeused"), v.tagPocessing.creationSettings.id3v2MajorVersion);
settings.setValue(QStringLiteral("keepversionofexistingtag"), v.tagPocessing.creationSettings.flags & TagCreationFlags::KeepExistingId3v2Version);
settings.setValue(
QStringLiteral("mergemultiplesuccessivetags"), v.tagPocessing.creationSettings.flags & TagCreationFlags::MergeMultipleSuccessiveId3v2Tags);
2015-04-22 19:33:53 +02:00
settings.endGroup();
2016-10-24 20:15:10 +02:00
v.editor.defaultTargets.save(settings, QStringLiteral("targets"));
2015-11-21 01:13:45 +01:00
settings.beginGroup(QStringLiteral("filelayout"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("forcerewrite"), v.tagPocessing.fileLayout.forceRewrite);
settings.setValue(QStringLiteral("tagpos"), static_cast<int>(v.tagPocessing.fileLayout.preferredTagPosition));
settings.setValue(QStringLiteral("forcetagpos"), v.tagPocessing.fileLayout.forceTagPosition);
settings.setValue(QStringLiteral("indexpos"), static_cast<int>(v.tagPocessing.fileLayout.preferredIndexPosition));
settings.setValue(QStringLiteral("forceindexpos"), v.tagPocessing.fileLayout.forceIndexPosition);
settings.setValue(QStringLiteral("minpad"), QVariant::fromValue(v.tagPocessing.fileLayout.minPadding));
settings.setValue(QStringLiteral("maxpad"), QVariant::fromValue(v.tagPocessing.fileLayout.maxPadding));
settings.setValue(QStringLiteral("prefpad"), QVariant::fromValue(v.tagPocessing.fileLayout.preferredPadding));
2015-11-21 01:13:45 +01:00
settings.endGroup();
2015-04-22 19:33:53 +02:00
settings.endGroup();
settings.beginGroup(QStringLiteral("mainwindow"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("geometry"), v.mainWindow.geometry);
settings.setValue(QStringLiteral("windowstate"), v.mainWindow.state);
settings.setValue(QStringLiteral("currentfilebrowserdirectory"), v.mainWindow.currentFileBrowserDirectory);
settings.setValue(QStringLiteral("layoutlocked"), v.mainWindow.layoutLocked);
2015-04-22 19:33:53 +02:00
settings.endGroup();
2016-01-09 03:38:58 +01:00
2016-03-03 22:21:15 +01:00
settings.beginGroup(QStringLiteral("dbquery"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("visible"), v.dbQuery.widgetShown);
settings.setValue(QStringLiteral("override"), v.dbQuery.override);
v.dbQuery.fields.save(settings, QStringLiteral("fields"));
settings.setValue(QStringLiteral("musicbrainzurl"), v.dbQuery.musicBrainzUrl);
2019-04-16 23:08:54 +02:00
settings.setValue(QStringLiteral("lyricwikiurl"), v.dbQuery.lyricsWikiaUrl);
settings.setValue(QStringLiteral("makeitpersonalurl"), v.dbQuery.makeItPersonalUrl);
settings.setValue(QStringLiteral("tekstowourl"), v.dbQuery.tekstowoUrl);
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("coverartarchiveurl"), v.dbQuery.coverArtArchiveUrl);
2016-03-03 22:21:15 +01:00
settings.endGroup();
2016-01-09 03:38:58 +01:00
settings.beginGroup(QStringLiteral("renamedlg"));
2016-10-24 20:15:10 +02:00
settings.setValue(QStringLiteral("src"), v.renamingUtility.scriptSource);
settings.setValue(QStringLiteral("file"), v.renamingUtility.externalScript);
settings.setValue(QStringLiteral("script"), v.renamingUtility.editorScript);
2016-01-09 03:38:58 +01:00
settings.endGroup();
2016-08-14 22:49:47 +02:00
2016-10-24 20:15:10 +02:00
v.qt.save(settings);
settings.sync();
v.error = QtUtilities::errorMessageForSettings(settings);
2015-04-22 19:33:53 +02:00
}
2018-03-11 18:58:50 +01:00
} // namespace Settings