|
|
@ -19,10 +19,6 @@ namespace FS = Common::FS;
|
|
|
|
|
|
|
|
|
|
|
|
Config::Config(const std::string& config_name, ConfigType config_type)
|
|
|
|
Config::Config(const std::string& config_name, ConfigType config_type)
|
|
|
|
: type(config_type), global{config_type == ConfigType::GlobalConfig} {
|
|
|
|
: type(config_type), global{config_type == ConfigType::GlobalConfig} {
|
|
|
|
|
|
|
|
|
|
|
|
settings_map = Settings::values.linkage.by_category;
|
|
|
|
|
|
|
|
settings_map.merge(UISettings::values.linkage.by_category);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Initialize(config_name);
|
|
|
|
Initialize(config_name);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1311,14 +1307,22 @@ const std::string& Config::GetConfigFilePath() const {
|
|
|
|
return qt_config_loc;
|
|
|
|
return qt_config_loc;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static auto FindRelevantList(Settings::Category category) {
|
|
|
|
|
|
|
|
auto& map = Settings::values.linkage.by_category;
|
|
|
|
|
|
|
|
if (map.contains(category)) {
|
|
|
|
|
|
|
|
return Settings::values.linkage.by_category[category];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return UISettings::values.linkage.by_category[category];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Config::ReadCategory(Settings::Category category) {
|
|
|
|
void Config::ReadCategory(Settings::Category category) {
|
|
|
|
const auto& settings = settings_map[category];
|
|
|
|
const auto& settings = FindRelevantList(category);
|
|
|
|
std::for_each(settings.begin(), settings.end(),
|
|
|
|
std::for_each(settings.begin(), settings.end(),
|
|
|
|
[&](const auto& setting) { ReadSettingGeneric(setting); });
|
|
|
|
[&](const auto& setting) { ReadSettingGeneric(setting); });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Config::WriteCategory(Settings::Category category) {
|
|
|
|
void Config::WriteCategory(Settings::Category category) {
|
|
|
|
const auto& settings = settings_map[category];
|
|
|
|
const auto& settings = FindRelevantList(category);
|
|
|
|
std::for_each(settings.begin(), settings.end(),
|
|
|
|
std::for_each(settings.begin(), settings.end(),
|
|
|
|
[&](const auto& setting) { WriteSettingGeneric(setting); });
|
|
|
|
[&](const auto& setting) { WriteSettingGeneric(setting); });
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1346,11 +1350,8 @@ void Config::ReadSettingGeneric(Settings::BasicSetting* const setting) {
|
|
|
|
|
|
|
|
|
|
|
|
void Config::WriteSettingGeneric(Settings::BasicSetting* const setting) const {
|
|
|
|
void Config::WriteSettingGeneric(Settings::BasicSetting* const setting) const {
|
|
|
|
if (!setting->Save()) {
|
|
|
|
if (!setting->Save()) {
|
|
|
|
LOG_DEBUG(Frontend, "Skipping \"{}\" marked for not saving", setting->GetLabel());
|
|
|
|
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
LOG_DEBUG(Frontend, "Saving {} setting \"{}\"...", global ? "global" : "custom",
|
|
|
|
|
|
|
|
setting->GetLabel());
|
|
|
|
|
|
|
|
const QVariant value = QVariant::fromValue(QString::fromStdString(setting->ToString()));
|
|
|
|
const QVariant value = QVariant::fromValue(QString::fromStdString(setting->ToString()));
|
|
|
|
const QVariant default_value =
|
|
|
|
const QVariant default_value =
|
|
|
|
QVariant::fromValue(QString::fromStdString(setting->DefaultToString()));
|
|
|
|
QVariant::fromValue(QString::fromStdString(setting->DefaultToString()));
|
|
|
|