aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/main_window/MainWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/main_window/MainWindow.cpp')
-rw-r--r--src/ui/main_window/MainWindow.cpp81
1 files changed, 19 insertions, 62 deletions
diff --git a/src/ui/main_window/MainWindow.cpp b/src/ui/main_window/MainWindow.cpp
index 0faa7379..0ae6d409 100644
--- a/src/ui/main_window/MainWindow.cpp
+++ b/src/ui/main_window/MainWindow.cpp
@@ -127,8 +127,10 @@ void MainWindow::Init() noexcept {
connect(qApp, &QCoreApplication::aboutToQuit, this, []() {
GF_UI_LOG_DEBUG("about to quit process started");
- if (GlobalSettingStation::GetInstance().LookupSettings(
- "general.clear_gpg_password_cache", false)) {
+ if (GlobalSettingStation::GetInstance()
+ .GetSettings()
+ .value("general/clear_gpg_password_cache", false)
+ .toBool()) {
if (GpgFrontend::GpgAdvancedOperator::ClearGpgPasswordCache()) {
GF_UI_LOG_DEBUG("clear gpg password cache done");
} else {
@@ -155,28 +157,9 @@ void MainWindow::Init() noexcept {
recover_editor_unsaved_pages_from_cache();
// check if need to open wizard window
- auto &settings = GlobalSettingStation::GetInstance().GetMainSettings();
-
- if (!settings.exists("wizard") ||
- settings.lookup("wizard").getType() != libconfig::Setting::TypeGroup)
- settings.add("wizard", libconfig::Setting::TypeGroup);
-
- auto &wizard = settings["wizard"];
-
- // Show wizard, if the don't show wizard message box wasn't checked
- // and keylist doesn't contain a private key
-
- if (!wizard.exists("show_wizard"))
- wizard.add("show_wizard", libconfig::Setting::TypeBoolean) = true;
-
- bool show_wizard = true;
- wizard.lookupValue("show_wizard", show_wizard);
-
- GF_UI_LOG_DEBUG("wizard show_wizard: {}", show_wizard);
-
- if (show_wizard) {
- slot_start_wizard();
- }
+ auto settings = GlobalSettingStation::GetInstance().GetSettings();
+ bool show_wizard = settings.value("wizard/show_wizard", true).toBool();
+ if (show_wizard) slot_start_wizard();
} catch (...) {
GF_UI_LOG_ERROR(_("Critical error occur while loading GpgFrontend."));
@@ -188,44 +171,23 @@ void MainWindow::Init() noexcept {
}
void MainWindow::restore_settings() {
- try {
- GF_UI_LOG_DEBUG("restore settings key_server");
-
- KeyServerSO key_server(SettingsObject("key_server"));
-
- if (key_server.server_list.empty()) key_server.ResetDefaultServerList();
- if (key_server.default_server < 0) key_server.default_server = 0;
+ GF_UI_LOG_DEBUG("restore settings for main windows");
- auto &settings = GlobalSettingStation::GetInstance().GetMainSettings();
+ KeyServerSO key_server(SettingsObject("key_server"));
+ if (key_server.server_list.empty()) key_server.ResetDefaultServerList();
+ if (key_server.default_server < 0) key_server.default_server = 0;
- if (!settings.exists("general") ||
- settings.lookup("general").getType() != libconfig::Setting::TypeGroup) {
- settings.add("general", libconfig::Setting::TypeGroup);
- }
-
- auto &general = settings["general"];
-
- if (!general.exists("non_ascii_when_export")) {
- general.add("non_ascii_when_export", libconfig::Setting::TypeBoolean) =
- true;
- }
+ auto settings = GlobalSettingStation::GetInstance().GetSettings();
+ if (!settings.contains("general/non_ascii_when_export")) {
+ settings.setValue("general/non_ascii_when_export", true);
+ }
- // set appearance
- import_button_->setToolButtonStyle(icon_style_);
+ // set appearance
+ import_button_->setToolButtonStyle(icon_style_);
- prohibit_update_checking_ = false;
- try {
- prohibit_update_checking_ =
- settings.lookup("network.prohibit_update_checking");
- } catch (...) {
- GF_UI_LOG_ERROR("setting operation error: prohibit_update_checking");
- }
+ prohibit_update_checking_ =
+ settings.value("network/prohibit_update_check").toBool();
- } catch (...) {
- GF_UI_LOG_ERROR("cannot resolve settings");
- }
-
- GlobalSettingStation::GetInstance().SyncSettings();
GF_UI_LOG_DEBUG("settings restored");
}
@@ -268,10 +230,6 @@ void MainWindow::recover_editor_unsaved_pages_from_cache() {
}
}
-void MainWindow::save_settings() {
- GlobalSettingStation::GetInstance().SyncSettings();
-}
-
void MainWindow::close_attachment_dock() {
if (!attachment_dock_created_) {
return;
@@ -287,7 +245,6 @@ void MainWindow::closeEvent(QCloseEvent *event) {
* modified documents in any tab
*/
if (edit_->MaybeSaveAnyTab()) {
- save_settings();
event->accept();
} else {
event->ignore();