From b8d3714edb5c53e050ace582a31044c86bdc8e08 Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Wed, 17 Dec 2025 00:30:29 +0500 Subject: [PATCH] Manager: Implement defaults for manager config Enable update checker by default --- src/qt/qt_vmmanager_config.cpp | 17 ++++++++++++++++- src/qt/qt_vmmanager_config.hpp | 2 ++ src/qt/qt_vmmanager_mainwindow.cpp | 2 -- src/qt/qt_vmmanager_preferences.cpp | 1 - 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/qt/qt_vmmanager_config.cpp b/src/qt/qt_vmmanager_config.cpp index 70fcdcc6c..b49446dbb 100644 --- a/src/qt/qt_vmmanager_config.cpp +++ b/src/qt/qt_vmmanager_config.cpp @@ -18,8 +18,18 @@ extern "C" { #include <86box/plat.h> +#include <86box/version.h> } +QVariantHash VMManagerConfig::generalDefaults = { + { "hide_tool_bar", 0 }, + { "regex_search", 0 }, +#if EMU_BUILD_NUM != 0 + { "update_check", 1 }, +#endif + { "window_remember", 0 } +}; + VMManagerConfig::VMManagerConfig(const ConfigType type, const QString §ion) { char BUF[256]; @@ -36,6 +46,8 @@ VMManagerConfig::VMManagerConfig(const ConfigType type, const QString §ion) settings->setFallbacksEnabled(false); if (type == ConfigType::System && !section.isEmpty()) { settings->beginGroup(section); + } else { + settings->beginGroup(""); } } @@ -47,7 +59,10 @@ VMManagerConfig::~VMManagerConfig() QString VMManagerConfig::getStringValue(const QString &key) const { - const auto value = settings->value(key); + auto defaultValue = QVariant(); + if ((config_type == ConfigType::General) && (generalDefaults.contains(key))) + defaultValue = generalDefaults[key]; + const auto value = settings->value(key, defaultValue); // An invalid QVariant with toString will give a default QString value which is blank. // Therefore any variables that do not exist will return blank strings return value.toString(); diff --git a/src/qt/qt_vmmanager_config.hpp b/src/qt/qt_vmmanager_config.hpp index 814b3c70f..e9c804a7e 100644 --- a/src/qt/qt_vmmanager_config.hpp +++ b/src/qt/qt_vmmanager_config.hpp @@ -35,6 +35,8 @@ public: void sync() const; + static QVariantHash generalDefaults; + QSettings *settings; ConfigType config_type; QString system_name; diff --git a/src/qt/qt_vmmanager_mainwindow.cpp b/src/qt/qt_vmmanager_mainwindow.cpp index cee6cb291..7efca83f3 100644 --- a/src/qt/qt_vmmanager_mainwindow.cpp +++ b/src/qt/qt_vmmanager_mainwindow.cpp @@ -109,8 +109,6 @@ VMManagerMainWindow:: ui->actionHide_tool_bar->setChecked(!!config->getStringValue("hide_tool_bar").toInt()); if (ui->actionHide_tool_bar->isChecked()) ui->toolBar->setVisible(false); - else - config->setStringValue("hide_tool_bar", "0"); if (!!config->getStringValue("window_remember").toInt()) { QString coords = config->getStringValue("window_coordinates"); if (!coords.isEmpty()) { diff --git a/src/qt/qt_vmmanager_preferences.cpp b/src/qt/qt_vmmanager_preferences.cpp index eb4f20d33..2de133254 100644 --- a/src/qt/qt_vmmanager_preferences.cpp +++ b/src/qt/qt_vmmanager_preferences.cpp @@ -59,7 +59,6 @@ VMManagerPreferences:: } ui->comboBoxLanguage->model()->sort(Qt::AscendingOrder); - // TODO: Defaults #if EMU_BUILD_NUM != 0 const auto configUpdateCheck = config->getStringValue("update_check").toInt(); ui->updateCheckBox->setChecked(configUpdateCheck);