aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/settings/SettingsAppearance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/settings/SettingsAppearance.cpp')
-rw-r--r--src/ui/settings/SettingsAppearance.cpp138
1 files changed, 47 insertions, 91 deletions
diff --git a/src/ui/settings/SettingsAppearance.cpp b/src/ui/settings/SettingsAppearance.cpp
index d9fe8c42..7e54c9f8 100644
--- a/src/ui/settings/SettingsAppearance.cpp
+++ b/src/ui/settings/SettingsAppearance.cpp
@@ -29,6 +29,7 @@
#include "SettingsAppearance.h"
#include "core/function/GlobalSettingStation.h"
+#include "ui/struct/SettingsObject.h"
namespace GpgFrontend::UI {
@@ -113,70 +114,51 @@ AppearanceTab::AppearanceTab(QWidget* parent) : QWidget(parent) {
* appropriately
**********************************/
void AppearanceTab::SetSettings() {
- auto& settings = GlobalSettingStation::GetInstance().GetUISettings();
-
- try {
- int width = settings.lookup("window.icon_size.width");
- int height = settings.lookup("window.icon_size.height");
-
- auto icon_size = QSize(width, height);
-
- switch (icon_size.height()) {
- case 12:
- icon_size_small_->setChecked(true);
- break;
- case 24:
- icon_size_medium_->setChecked(true);
- break;
- case 32:
- icon_size_large_->setChecked(true);
- break;
- }
-
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("icon_size");
- }
- // icon_style
- try {
- int s_icon_style = settings.lookup("window.icon_style");
- auto icon_style = static_cast<Qt::ToolButtonStyle>(s_icon_style);
-
- switch (icon_style) {
- case Qt::ToolButtonTextOnly:
- icon_text_button_->setChecked(true);
- break;
- case Qt::ToolButtonIconOnly:
- icon_icons_button_->setChecked(true);
- break;
- case Qt::ToolButtonTextUnderIcon:
- icon_all_button_->setChecked(true);
- break;
- default:
- break;
- }
-
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("icon_style");
- }
+ SettingsObject main_windows_state("main_windows_state");
- // Window Save and Position
- try {
- bool window_save = settings.lookup("window.window_save");
- if (window_save) window_size_check_box_->setCheckState(Qt::Checked);
+ int width = main_windows_state.Check("icon_size").Check("width", 24),
+ height = main_windows_state.Check("icon_size").Check("height", 24);
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("window_save");
+ auto icon_size = QSize(width, height);
+
+ switch (icon_size.width()) {
+ case 12:
+ icon_size_small_->setChecked(true);
+ break;
+ case 24:
+ icon_size_medium_->setChecked(true);
+ break;
+ case 32:
+ icon_size_large_->setChecked(true);
+ break;
}
- // info board font size
- try {
- int info_font_size = settings.lookup("window.info_font_size");
- if (info_font_size < 9 || info_font_size > 18) info_font_size = 10;
- info_board_font_size_spin_->setValue(info_font_size);
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("info_font_size");
+ // icon_style
+ int s_icon_style =
+ main_windows_state.Check("icon_style", Qt::ToolButtonTextUnderIcon);
+ auto icon_style = static_cast<Qt::ToolButtonStyle>(s_icon_style);
+
+ switch (icon_style) {
+ case Qt::ToolButtonTextOnly:
+ icon_text_button_->setChecked(true);
+ break;
+ case Qt::ToolButtonIconOnly:
+ icon_icons_button_->setChecked(true);
+ break;
+ case Qt::ToolButtonTextUnderIcon:
+ icon_all_button_->setChecked(true);
+ break;
+ default:
+ break;
}
+
+ bool window_save = main_windows_state.Check("window_save", true);
+ if (window_save) window_size_check_box_->setCheckState(Qt::Checked);
+
+ auto info_font_size = main_windows_state.Check("info_font_size", 10);
+ if (info_font_size < 9 || info_font_size > 18) info_font_size = 10;
+ info_board_font_size_spin_->setValue(info_font_size);
}
/***********************************
@@ -184,14 +166,8 @@ void AppearanceTab::SetSettings() {
* write them to settings-file
*************************************/
void AppearanceTab::ApplySettings() {
- auto& settings =
- GpgFrontend::GlobalSettingStation::GetInstance().GetUISettings();
-
- if (!settings.exists("window") ||
- settings.lookup("window").getType() != libconfig::Setting::TypeGroup)
- settings.add("window", libconfig::Setting::TypeGroup);
- auto& window = settings["window"];
+ SettingsObject main_windows_state("main_windows_state");
int icon_size = 24;
switch (icon_size_group_->checkedId()) {
@@ -206,15 +182,8 @@ void AppearanceTab::ApplySettings() {
break;
}
- if (!window.exists("icon_size")) {
- auto& icon_size_settings =
- window.add("icon_size", libconfig::Setting::TypeGroup);
- icon_size_settings.add("width", libconfig::Setting::TypeInt) = icon_size;
- icon_size_settings.add("height", libconfig::Setting::TypeInt) = icon_size;
- } else {
- window["icon_size"]["width"] = icon_size;
- window["icon_size"]["height"] = icon_size;
- }
+ main_windows_state["icon_size"]["width"] = icon_size;
+ main_windows_state["icon_size"]["height"] = icon_size;
auto icon_style = Qt::ToolButtonTextUnderIcon;
switch (icon_style_group_->checkedId()) {
@@ -229,25 +198,12 @@ void AppearanceTab::ApplySettings() {
break;
}
- if (!window.exists("icon_style")) {
- window.add("icon_style", libconfig::Setting::TypeInt) = icon_style;
- } else {
- window["icon_style"] = icon_style;
- }
+ main_windows_state["icon_style"] = icon_style;
- if (!window.exists("window_save")) {
- window.add("window_save", libconfig::Setting::TypeBoolean) =
- window_size_check_box_->isChecked();
- } else {
- window["window_save"] = window_size_check_box_->isChecked();
- }
+ main_windows_state["window_save"] = window_size_check_box_->isChecked();
+
+ main_windows_state["info_font_size"] = info_board_font_size_spin_->value();
- if (!window.exists("info_font_size")) {
- window.add("info_font_size", libconfig::Setting::TypeBoolean) =
- info_board_font_size_spin_->value();
- } else {
- window["info_font_size"] = info_board_font_size_spin_->value();
- }
}
} // namespace GpgFrontend::UI