diff options
Diffstat (limited to 'src/ui/main_window/MainWindow.cpp')
-rw-r--r-- | src/ui/main_window/MainWindow.cpp | 47 |
1 files changed, 34 insertions, 13 deletions
diff --git a/src/ui/main_window/MainWindow.cpp b/src/ui/main_window/MainWindow.cpp index b0273d86..fff3ab63 100644 --- a/src/ui/main_window/MainWindow.cpp +++ b/src/ui/main_window/MainWindow.cpp @@ -29,6 +29,7 @@ #include "MainWindow.h" #include "core/function/GlobalSettingStation.h" +#include "core/function/gpg/GpgAdvancedOperator.h" #include "ui/SignalStation.h" #include "ui/UserInterfaceUtils.h" #include "ui/struct/SettingsObject.h" @@ -108,7 +109,7 @@ void MainWindow::Init() noexcept { bool show_wizard = true; wizard.lookupValue("show_wizard", show_wizard); - LOG(INFO) << "wizard show_wizard" << show_wizard; + SPDLOG_DEBUG("wizard show_wizard: {}", show_wizard); if (show_wizard) { slot_start_wizard(); @@ -128,8 +129,31 @@ void MainWindow::Init() noexcept { ->PostTask(version_task); } + // before application exit + connect(qApp, &QCoreApplication::aboutToQuit, this, []() { + SPDLOG_DEBUG("about to quit process started"); + + auto &settings = GlobalSettingStation::GetInstance().GetUISettings(); + try { + bool clear_gpg_password_cache = + settings.lookup("general.clear_gpg_password_cache"); + + if (clear_gpg_password_cache) { + if (GpgFrontend::GpgAdvancedOperator::GetInstance() + .ClearGpgPasswordCache()) { + SPDLOG_DEBUG("clear gpg password cache done"); + } else { + SPDLOG_ERROR("clear gpg password cache error"); + } + } + + } catch (...) { + SPDLOG_ERROR("setting operation error: clear_gpg_password_cache"); + } + }); + } catch (...) { - LOG(FATAL) << _("Critical error occur while loading GpgFrontend."); + SPDLOG_ERROR(_("Critical error occur while loading GpgFrontend.")); QMessageBox::critical(nullptr, _("Loading Failed"), _("Critical error occur while loading GpgFrontend.")); QCoreApplication::quit(); @@ -138,10 +162,8 @@ void MainWindow::Init() noexcept { } void MainWindow::restore_settings() { - LOG(INFO) << _("Called"); - try { - LOG(INFO) << "restore settings key_server"; + SPDLOG_DEBUG("restore settings key_server"); SettingsObject key_server_json("key_server"); if (!key_server_json.contains("server_list") || @@ -177,7 +199,7 @@ void MainWindow::restore_settings() { import_button_->setToolButtonStyle(icon_style_); try { - LOG(INFO) << "restore settings default_key_checked"; + SPDLOG_DEBUG("restore settings default_key_checked"); // Checked Keys SettingsObject default_key_checked("default_key_checked"); @@ -185,13 +207,13 @@ void MainWindow::restore_settings() { auto key_ids_ptr = std::make_unique<KeyIdArgsList>(); for (auto &it : default_key_checked) { std::string key_id = it; - LOG(INFO) << "get checked key id" << key_id; + SPDLOG_DEBUG("get checked key id: {}", key_id); key_ids_ptr->push_back(key_id); } m_key_list_->SetChecked(std::move(key_ids_ptr)); } } catch (...) { - LOG(ERROR) << "restore default_key_checked failed"; + SPDLOG_ERROR("restore default_key_checked failed"); } prohibit_update_checking_ = false; @@ -199,16 +221,15 @@ void MainWindow::restore_settings() { prohibit_update_checking_ = settings.lookup("network.prohibit_update_checking"); } catch (...) { - LOG(ERROR) << _("Setting Operation Error") - << _("prohibit_update_checking"); + SPDLOG_ERROR("setting operation error: prohibit_update_checking"); } } catch (...) { - LOG(ERROR) << "cannot resolve settings"; + SPDLOG_ERROR("cannot resolve settings"); } GlobalSettingStation::GetInstance().SyncSettings(); - LOG(INFO) << _("settings restored"); + SPDLOG_DEBUG("settings restored"); } void MainWindow::save_settings() { @@ -230,7 +251,7 @@ void MainWindow::save_settings() { settings["general"].remove("save_key_checked"); } } catch (...) { - LOG(ERROR) << "cannot save settings"; + SPDLOG_ERROR("cannot save settings"); }; GlobalSettingStation::GetInstance().SyncSettings(); |