From ffc70008a51db72f4cfcfbf1e82753f96cb23d95 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Sun, 2 Oct 2022 19:46:19 -0400 Subject: Implement toolbar customization. --- qdeduper/settings.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'qdeduper/settings.cpp') diff --git a/qdeduper/settings.cpp b/qdeduper/settings.cpp index 75dfbfd..e19cc56 100644 --- a/qdeduper/settings.cpp +++ b/qdeduper/settings.cpp @@ -127,3 +127,59 @@ void SettingsRegistry::set_option_keyseq(std::string key, QKeySequence ks) return; s->setValue(QString::fromStdString(key), QVariant::fromValue(ks)); } + +void SettingsRegistry::register_str_option(int tab, std::string key, QString desc, QString defaultval) +{ + klist.push_back(key); + smap[key] = { + SettingsItem::ParameterType::_str, + tab, + key, + desc, + QVariant(), + QVariant(), + QVariant::fromValue(defaultval), + nullptr}; +} + +QString SettingsRegistry::get_option_str(std::string key) +{ + if (smap.find(key) == smap.end() || smap[key].type != SettingsItem::ParameterType::_str) + return QString(); + return s->value(QString::fromStdString(key), smap[key].defaultv).value(); +} + +void SettingsRegistry::set_option_str(std::string key, QString str) +{ + if (smap.find(key) == smap.end() || smap[key].type != SettingsItem::ParameterType::_str) + return; + s->setValue(QString::fromStdString(key), QVariant::fromValue(str)); +} + +void SettingsRegistry::register_strlist_option(int tab, std::string key, QString desc, QStringList defaultval) +{ + klist.push_back(key); + smap[key] = { + SettingsItem::ParameterType::_strlist, + tab, + key, + desc, + QVariant(), + QVariant(), + QVariant::fromValue(defaultval), + nullptr}; +} + +QStringList SettingsRegistry::get_option_strlist(std::string key) +{ + if (smap.find(key) == smap.end() || smap[key].type != SettingsItem::ParameterType::_strlist) + return QStringList(); + return s->value(QString::fromStdString(key), smap[key].defaultv).value(); +} + +void SettingsRegistry::set_option_strlist(std::string key, QStringList str) +{ + if (smap.find(key) == smap.end() || smap[key].type != SettingsItem::ParameterType::_strlist) + return; + s->setValue(QString::fromStdString(key), QVariant::fromValue(str)); +} -- cgit v1.2.3