diff options
author | Saturneric <[email protected]> | 2022-01-12 14:57:14 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2022-01-12 14:57:14 +0000 |
commit | 1b18bc1457ddc5165430a81e34cb40a1dd29d6b4 (patch) | |
tree | 1f960754e26e442bc811930175e5a19de1456eb8 /src/ui/data_struct/SettingsObject.cpp | |
parent | <refactor>(ui): Refactoring some settings based on encrypted object settings ... (diff) | |
download | GpgFrontend-1b18bc1457ddc5165430a81e34cb40a1dd29d6b4.tar.gz GpgFrontend-1b18bc1457ddc5165430a81e34cb40a1dd29d6b4.zip |
<refactor, fix>(ui): Refactored settings object to fix issues.
1. Fixed the problem of duplicate storage of unnamed settings objects.
2. Rename the settings object.
Diffstat (limited to '')
-rw-r--r-- | src/ui/data_struct/SettingsObject.cpp (renamed from src/ui/data_struct/SettingsObj.cpp) | 18 |
1 files changed, 12 insertions, 6 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); +} |