aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/data_struct
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/data_struct')
-rw-r--r--src/ui/data_struct/SettingsObject.cpp (renamed from src/ui/data_struct/SettingsObj.cpp)18
-rw-r--r--src/ui/data_struct/SettingsObject.h (renamed from src/ui/data_struct/SettingsObj.h)19
2 files changed, 20 insertions, 17 deletions
diff --git a/src/ui/data_struct/SettingsObj.cpp b/src/ui/data_struct/SettingsObject.cpp
index d069dfe7..d8d1b76c 100644
--- a/src/ui/data_struct/SettingsObj.cpp
+++ b/src/ui/data_struct/SettingsObject.cpp
@@ -22,22 +22,22 @@
*
*/
-#include "SettingsObj.h"
+#include "SettingsObject.h"
-nlohmann::json& GpgFrontend::UI::SettingsObj::Check(
+nlohmann::json& GpgFrontend::UI::SettingsObject::Check(
const std::string& key, nlohmann::json default_value) {
if (!nlohmann::json::contains(key))
nlohmann::json::operator[](key) = std::move(default_value);
return nlohmann::json::operator[](key);
}
-GpgFrontend::UI::SettingsObj GpgFrontend::UI::SettingsObj::Check(
+GpgFrontend::UI::SettingsObject GpgFrontend::UI::SettingsObject::Check(
const std::string& key) {
if (!nlohmann::json::contains(key)) nlohmann::json::operator[](key) = {};
- return SettingsObj{nlohmann::json::operator[](key), false};
+ return SettingsObject{nlohmann::json::operator[](key), false};
}
-GpgFrontend::UI::SettingsObj::SettingsObj(std::string settings_name)
+GpgFrontend::UI::SettingsObject::SettingsObject(std::string settings_name)
: settings_name_(std::move(settings_name)) {
try {
auto _json_optional =
@@ -51,5 +51,11 @@ GpgFrontend::UI::SettingsObj::SettingsObj(std::string settings_name)
}
}
-GpgFrontend::UI::SettingsObj::SettingsObj(nlohmann::json _sub_json, bool)
+GpgFrontend::UI::SettingsObject::SettingsObject(nlohmann::json _sub_json, bool)
: nlohmann::json(std::move(_sub_json)), settings_name_({}) {}
+
+GpgFrontend::UI::SettingsObject::~SettingsObject() {
+ if (!settings_name_.empty())
+ GpgFrontend::UI::GlobalSettingStation::GetInstance().SaveDataObj(
+ settings_name_, *this);
+}
diff --git a/src/ui/data_struct/SettingsObj.h b/src/ui/data_struct/SettingsObject.h
index ee3da705..af63b74f 100644
--- a/src/ui/data_struct/SettingsObj.h
+++ b/src/ui/data_struct/SettingsObject.h
@@ -22,8 +22,8 @@
*
*/
-#ifndef GPGFRONTEND_SETTINGSOBJ_H
-#define GPGFRONTEND_SETTINGSOBJ_H
+#ifndef GPGFRONTEND_SETTINGSOBJECT_H
+#define GPGFRONTEND_SETTINGSOBJECT_H
#include <utility>
@@ -31,24 +31,21 @@
namespace GpgFrontend::UI {
-class SettingsObj : public nlohmann::json {
+class SettingsObject : public nlohmann::json {
public:
- explicit SettingsObj(std::string settings_name);
+ explicit SettingsObject(std::string settings_name);
- explicit SettingsObj(nlohmann::json _sub_json, bool);
+ explicit SettingsObject(nlohmann::json _sub_json, bool);
- ~SettingsObj() {
- GpgFrontend::UI::GlobalSettingStation::GetInstance().SaveDataObj(
- settings_name_, *this);
- }
+ ~SettingsObject();
nlohmann::json& Check(const std::string& key, nlohmann::json default_value);
- SettingsObj Check(const std::string& key);
+ SettingsObject Check(const std::string& key);
private:
std::string settings_name_;
};
} // namespace GpgFrontend::UI
-#endif // GPGFRONTEND_SETTINGSOBJ_H
+#endif // GPGFRONTEND_SETTINGSOBJECT_H