summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar liamwhite2024-01-04 15:51:00 -0500
committerGravatar GitHub2024-01-04 15:51:00 -0500
commit8d3463dbddbbcef2d615d596a1bf7421730c9dd6 (patch)
tree33f4e6b829a578c4bb1ad21d9b21f01f1c717b28
parentMerge pull request #12568 from t895/actions-button (diff)
parentfrontend_common: config: Move WriteIntegerSetting definition to header (diff)
downloadyuzu-8d3463dbddbbcef2d615d596a1bf7421730c9dd6.tar.gz
yuzu-8d3463dbddbbcef2d615d596a1bf7421730c9dd6.tar.xz
yuzu-8d3463dbddbbcef2d615d596a1bf7421730c9dd6.zip
Merge pull request #12570 from t895/generic-config-pain
frontend_common: config: Move WriteIntegerSetting definition to header
Diffstat (limited to '')
-rw-r--r--src/frontend_common/config.cpp11
-rw-r--r--src/frontend_common/config.h16
2 files changed, 11 insertions, 16 deletions
diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp
index 51576b4ee..359a0d267 100644
--- a/src/frontend_common/config.cpp
+++ b/src/frontend_common/config.cpp
@@ -762,17 +762,6 @@ void Config::WriteBooleanSetting(const std::string& key, const bool& value,
762 WritePreparedSetting(key, AdjustOutputString(ToString(value)), string_default, use_global); 762 WritePreparedSetting(key, AdjustOutputString(ToString(value)), string_default, use_global);
763} 763}
764 764
765template <typename T>
766std::enable_if_t<std::is_integral_v<T>> Config::WriteIntegerSetting(
767 const std::string& key, const T& value, const std::optional<T>& default_value,
768 const std::optional<bool>& use_global) {
769 std::optional<std::string> string_default = std::nullopt;
770 if (default_value.has_value()) {
771 string_default = std::make_optional(ToString(default_value.value()));
772 }
773 WritePreparedSetting(key, AdjustOutputString(ToString(value)), string_default, use_global);
774}
775
776void Config::WriteDoubleSetting(const std::string& key, const double& value, 765void Config::WriteDoubleSetting(const std::string& key, const double& value,
777 const std::optional<double>& default_value, 766 const std::optional<double>& default_value,
778 const std::optional<bool>& use_global) { 767 const std::optional<bool>& use_global) {
diff --git a/src/frontend_common/config.h b/src/frontend_common/config.h
index 0c4d505b8..b01631649 100644
--- a/src/frontend_common/config.h
+++ b/src/frontend_common/config.h
@@ -157,17 +157,23 @@ protected:
157 void WriteBooleanSetting(const std::string& key, const bool& value, 157 void WriteBooleanSetting(const std::string& key, const bool& value,
158 const std::optional<bool>& default_value = std::nullopt, 158 const std::optional<bool>& default_value = std::nullopt,
159 const std::optional<bool>& use_global = std::nullopt); 159 const std::optional<bool>& use_global = std::nullopt);
160 template <typename T>
161 std::enable_if_t<std::is_integral_v<T>> WriteIntegerSetting(
162 const std::string& key, const T& value,
163 const std::optional<T>& default_value = std::nullopt,
164 const std::optional<bool>& use_global = std::nullopt);
165 void WriteDoubleSetting(const std::string& key, const double& value, 160 void WriteDoubleSetting(const std::string& key, const double& value,
166 const std::optional<double>& default_value = std::nullopt, 161 const std::optional<double>& default_value = std::nullopt,
167 const std::optional<bool>& use_global = std::nullopt); 162 const std::optional<bool>& use_global = std::nullopt);
168 void WriteStringSetting(const std::string& key, const std::string& value, 163 void WriteStringSetting(const std::string& key, const std::string& value,
169 const std::optional<std::string>& default_value = std::nullopt, 164 const std::optional<std::string>& default_value = std::nullopt,
170 const std::optional<bool>& use_global = std::nullopt); 165 const std::optional<bool>& use_global = std::nullopt);
166 template <typename T>
167 std::enable_if_t<std::is_integral_v<T>> WriteIntegerSetting(
168 const std::string& key, const T& value,
169 const std::optional<T>& default_value = std::nullopt,
170 const std::optional<bool>& use_global = std::nullopt) {
171 std::optional<std::string> string_default = std::nullopt;
172 if (default_value.has_value()) {
173 string_default = std::make_optional(ToString(default_value.value()));
174 }
175 WritePreparedSetting(key, AdjustOutputString(ToString(value)), string_default, use_global);
176 }
171 177
172 void ReadCategory(Settings::Category category); 178 void ReadCategory(Settings::Category category);
173 void WriteCategory(Settings::Category category); 179 void WriteCategory(Settings::Category category);