diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/core/function/GlobalSettingStation.cpp | 402 | ||||
-rw-r--r-- | src/core/function/GlobalSettingStation.h | 143 | ||||
-rw-r--r-- | src/ui/GpgFrontendApplication.cpp | 3 | ||||
-rw-r--r-- | src/ui/GpgFrontendUIInit.cpp | 2 | ||||
-rw-r--r-- | src/ui/UserInterfaceUtils.cpp | 2 | ||||
-rw-r--r-- | src/ui/dialog/Wizard.cpp | 2 | ||||
-rw-r--r-- | src/ui/dialog/gnupg/GnuPGControllerDialog.cpp | 8 | ||||
-rw-r--r-- | src/ui/dialog/keypair_details/KeyPairOperaTab.cpp | 2 | ||||
-rw-r--r-- | src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp | 2 | ||||
-rw-r--r-- | src/ui/dialog/settings/SettingsAdvanced.cpp | 2 | ||||
-rw-r--r-- | src/ui/dialog/settings/SettingsGeneral.cpp | 4 | ||||
-rw-r--r-- | src/ui/dialog/settings/SettingsNetwork.cpp | 4 | ||||
-rw-r--r-- | src/ui/main_window/MainWindow.cpp | 20 | ||||
-rw-r--r-- | src/ui/widgets/KeyList.cpp | 2 | ||||
-rw-r--r-- | src/ui/widgets/TextEdit.cpp | 2 |
16 files changed, 375 insertions, 227 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 29b3e468..53129c84 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -78,7 +78,7 @@ if (MINGW) endif () # spdlog -target_link_libraries(gpgfrontend_core PUBLIC spdlog) +target_link_libraries(gpgfrontend_core PRIVATE spdlog) # link libarchive target_link_libraries(gpgfrontend_core PRIVATE archive) diff --git a/src/core/function/GlobalSettingStation.cpp b/src/core/function/GlobalSettingStation.cpp index b5b653c6..166f57d2 100644 --- a/src/core/function/GlobalSettingStation.cpp +++ b/src/core/function/GlobalSettingStation.cpp @@ -28,136 +28,350 @@ #include "GlobalSettingStation.h" +#include <memory> + #include "core/function/FileOperator.h" -void GpgFrontend::GlobalSettingStation::SyncSettings() noexcept { - using namespace libconfig; - try { - ui_cfg_.writeFile(ui_config_path_.u8string().c_str()); - SPDLOG_DEBUG("updated ui configuration successfully written to {}", - ui_config_path_.u8string()); +namespace GpgFrontend { + +class GlobalSettingStation::Impl { + public: + /** + * @brief Construct a new Global Setting Station object + * + */ + explicit Impl(int channel) noexcept { + using namespace std::filesystem; + using namespace libconfig; + + SPDLOG_INFO("app path: {}", app_path_.u8string()); + SPDLOG_INFO("app configure path: {}", app_configure_path_.u8string()); + SPDLOG_INFO("app data path: {}", app_data_path_.u8string()); + SPDLOG_INFO("app log path: {}", app_log_path_.u8string()); + SPDLOG_INFO("app locale path: {}", app_locale_path_.u8string()); + SPDLOG_INFO("app conf path: {}", main_config_path_.u8string()); + + SPDLOG_INFO("app log files total size: {}", GetLogFilesSize()); + SPDLOG_INFO("app data objects files total size: {}", + GetDataObjectsFilesSize()); + + if (!is_directory(app_configure_path_)) + create_directory(app_configure_path_); + if (!is_directory(app_data_path_)) create_directory(app_data_path_); + if (!is_directory(app_log_path_)) create_directory(app_log_path_); + if (!is_directory(config_dir_path_)) create_directory(config_dir_path_); - } catch (const FileIOException &fioex) { - SPDLOG_ERROR("i/o error while writing ui configuration file: {}", - ui_config_path_.u8string()); + if (!exists(main_config_path_)) { + try { + this->ui_cfg_.writeFile(main_config_path_.u8string().c_str()); + SPDLOG_DEBUG("user interface configuration successfully written to {}", + main_config_path_.u8string()); + + } catch (const FileIOException &fioex) { + SPDLOG_DEBUG( + "i/o error while writing UserInterface configuration file {}", + main_config_path_.u8string()); + } + } else { + try { + this->ui_cfg_.readFile(main_config_path_.u8string().c_str()); + SPDLOG_DEBUG("user interface configuration successfully read from {}", + main_config_path_.u8string()); + } catch (const FileIOException &fioex) { + SPDLOG_ERROR("i/o error while reading UserInterface configure file"); + } catch (const ParseException &pex) { + SPDLOG_ERROR("parse error at {} : {} - {}", pex.getFile(), + pex.getLine(), pex.getError()); + } + } } -} -GpgFrontend::GlobalSettingStation::GlobalSettingStation(int channel) noexcept - : SingletonFunctionObject<GlobalSettingStation>(channel) { - using namespace std::filesystem; - using namespace libconfig; + libconfig::Setting &GetMainSettings() noexcept { return ui_cfg_.getRoot(); } - SPDLOG_INFO("app path: {}", app_path_.u8string()); - SPDLOG_INFO("app configure path: {}", app_configure_path_.u8string()); - SPDLOG_INFO("app data path: {}", app_data_path_.u8string()); - SPDLOG_INFO("app log path: {}", app_log_path_.u8string()); - SPDLOG_INFO("app locale path: {}", app_locale_path_.u8string()); - SPDLOG_INFO("app conf path: {}", ui_config_path_.u8string()); + std::string GetLogFilesSize() const { + return get_human_readable_size( + get_files_size_at_path(app_log_path_, "*.log")); + } - SPDLOG_INFO("app log files total size: {}", GetLogFilesSize()); - SPDLOG_INFO("app data objects files total size: {}", - GetDataObjectsFilesSize()); + std::string GetDataObjectsFilesSize() const { + return get_human_readable_size( + get_files_size_at_path(app_data_objs_path_, "*")); + } + + void ClearAllLogFiles() const { delete_all_files(app_log_path_, "*.log"); } - if (!is_directory(app_configure_path_)) create_directory(app_configure_path_); - if (!is_directory(app_data_path_)) create_directory(app_data_path_); - if (!is_directory(app_log_path_)) create_directory(app_log_path_); - if (!is_directory(ui_config_dir_path_)) create_directory(ui_config_dir_path_); + void ClearAllDataObjects() const { + delete_all_files(app_data_objs_path_, "*"); + } - if (!exists(ui_config_path_)) { + /** + * @brief + * + * @return libconfig::Setting& + */ + template <typename T> + T LookupSettings(std::string path, T default_value) noexcept { + T value = default_value; try { - this->ui_cfg_.writeFile(ui_config_path_.u8string().c_str()); - SPDLOG_DEBUG("user interface configuration successfully written to {}", - ui_config_path_.u8string()); + value = static_cast<T>(GetMainSettings().lookup(path)); + } catch (...) { + SPDLOG_WARN("setting not found: {}", path); + } + return value; + } - } catch (const FileIOException &fioex) { - SPDLOG_DEBUG( - "i/o error while writing UserInterface configuration file {}", - ui_config_path_.u8string()); + /** + * @brief Get the App Dir object + * + * @return std::filesystem::path + */ + [[nodiscard]] std::filesystem::path GetAppDir() const { return app_path_; } + + [[nodiscard]] std::filesystem::path GetAppDataPath() const { + return app_data_path_; + } + + /** + * @brief Get the Log Dir object + * + * @return std::filesystem::path + */ + [[nodiscard]] std::filesystem::path GetLogDir() const { + return app_log_path_; + } + + /** + * @brief Get the Standalone Database Dir object + * + * @return std::filesystem::path + */ + [[nodiscard]] std::filesystem::path GetStandaloneDatabaseDir() const { + auto db_path = app_configure_path_ / "db"; + if (!std::filesystem::exists(db_path)) { + std::filesystem::create_directory(db_path); } - } else { + return db_path; + } + + [[nodiscard]] std::filesystem::path GetAppConfigPath() const { + return app_configure_path_; + } + + /** + * @brief Get the Standalone Gpg Bin Dir object + * + * @return std::filesystem::path + */ + [[nodiscard]] std::filesystem::path GetStandaloneGpgBinDir() const { + return app_resource_path_ / "gpg1.4" / "gpg"; + } + + /** + * @brief Get the Locale Dir object + * + * @return std::filesystem::path + */ + [[nodiscard]] std::filesystem::path GetLocaleDir() const { + return app_locale_path_; + } + + /** + * @brief Get the Resource Dir object + * + * @return std::filesystem::path + */ + [[nodiscard]] std::filesystem::path GetResourceDir() const { + return app_resource_path_; + } + + /** + * @brief Get the Certs Dir object + * + * @return std::filesystem::path + */ + [[nodiscard]] std::filesystem::path GetCertsDir() const { + return app_resource_path_ / "certs"; + } + + /** + * @brief sync the settings to the file + * + */ + void SyncSettings() noexcept { + using namespace libconfig; try { - this->ui_cfg_.readFile(ui_config_path_.u8string().c_str()); - SPDLOG_DEBUG("user interface configuration successfully read from {}", - ui_config_path_.u8string()); + ui_cfg_.writeFile(main_config_path_.u8string().c_str()); + SPDLOG_DEBUG("updated ui configuration successfully written to {}", + main_config_path_.u8string()); + } catch (const FileIOException &fioex) { - SPDLOG_ERROR("i/o error while reading UserInterface configure file"); - } catch (const ParseException &pex) { - SPDLOG_ERROR("parse error at {} : {} - {}", pex.getFile(), pex.getLine(), - pex.getError()); + SPDLOG_ERROR("i/o error while writing ui configuration file: {}", + main_config_path_.u8string()); } } -} -libconfig::Setting & -GpgFrontend::GlobalSettingStation::GetUISettings() noexcept { - return ui_cfg_.getRoot(); -} + private: + std::filesystem::path app_path_ = QCoreApplication::applicationDirPath() + .toStdString(); ///< Program Location + std::filesystem::path app_data_path_ = + QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + .toStdString(); ///< Program Data Location + std::filesystem::path app_log_path_ = + app_data_path_ / "logs"; ///< Program Data Location + std::filesystem::path app_data_objs_path_ = + app_data_path_ / "data_objs"; ///< Object storage path + +#ifdef LINUX_INSTALL_BUILD + std::filesystem::path app_resource_path_ = + std::filesystem::path(APP_LOCALSTATE_PATH) / + "gpgfrontend"; ///< Program Data Location +#else + std::filesystem::path app_resource_path_ = + RESOURCE_DIR_BOOST_PATH(app_path_); ///< Program Data Location +#endif + +#ifdef LINUX_INSTALL_BUILD + std::filesystem::path app_locale_path_ = + std::string(APP_LOCALE_PATH); ///< Program Data Location +#else + std::filesystem::path app_locale_path_ = + app_resource_path_ / "locales"; ///< Program Data Location +#endif -void GpgFrontend::GlobalSettingStation::init_app_secure_key() {} + std::filesystem::path app_configure_path_ = + QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + .toStdString(); ///< Program Configure Location + std::filesystem::path config_dir_path_ = + app_configure_path_ / "conf"; ///< Configure File Directory Location + std::filesystem::path main_config_path_ = + config_dir_path_ / "main.cfg"; ///< Main Configure File Location + std::filesystem::path module_config_path_ = + config_dir_path_ / "module.cfg"; ///< Main Configure File Location -int64_t GpgFrontend::GlobalSettingStation::get_files_size_at_path( - std::filesystem::path path, std::string filename_pattern) const { - auto dir = QDir(QString::fromStdString(path.u8string())); - QFileInfoList fileList = dir.entryInfoList( - QStringList() << QString::fromStdString(filename_pattern), QDir::Files); - qint64 totalSize = 0; + libconfig::Config ui_cfg_; ///< UI Configure File - for (const QFileInfo &fileInfo : fileList) { - totalSize += fileInfo.size(); + /** + * @brief + * + */ + void init_app_secure_key() {} + + /** + * @brief + * + */ + int64_t get_files_size_at_path(std::filesystem::path path, + std::string filename_pattern) const { + auto dir = QDir(QString::fromStdString(path.u8string())); + QFileInfoList fileList = dir.entryInfoList( + QStringList() << QString::fromStdString(filename_pattern), QDir::Files); + qint64 totalSize = 0; + + for (const QFileInfo &fileInfo : fileList) { + totalSize += fileInfo.size(); + } + return totalSize; } - return totalSize; -} -std::string GpgFrontend::GlobalSettingStation::get_human_readable_size( - int64_t size) const { - double num = size; - QStringList list; - list << "KB" - << "MB" - << "GB" - << "TB"; + /** + * @brief + * + */ + std::string get_human_readable_size(int64_t size) const { + double num = size; + QStringList list; + list << "KB" + << "MB" + << "GB" + << "TB"; - QStringListIterator i(list); - QString unit("bytes"); + QStringListIterator i(list); + QString unit("bytes"); - while (num >= 1024.0 && i.hasNext()) { - unit = i.next(); - num /= 1024.0; + while (num >= 1024.0 && i.hasNext()) { + unit = i.next(); + num /= 1024.0; + } + return (QString().setNum(num, 'f', 2) + " " + unit).toStdString(); + } + + /** + * @brief + * + */ + void delete_all_files(std::filesystem::path path, + std::string filename_pattern) const { + auto dir = QDir(QString::fromStdString(path.u8string())); + + QStringList logFiles = dir.entryList( + QStringList() << QString::fromStdString(filename_pattern), QDir::Files); + + for (const auto &file : logFiles) { + QFile::remove(dir.absoluteFilePath(file)); + } } - return (QString().setNum(num, 'f', 2) + " " + unit).toStdString(); +}; + +GlobalSettingStation::GlobalSettingStation(int channel) noexcept + : SingletonFunctionObject<GlobalSettingStation>(channel), + p_(std::make_unique<Impl>(channel)) {} + +GlobalSettingStation::~GlobalSettingStation() noexcept = default; + +void GlobalSettingStation::SyncSettings() noexcept { p_->SyncSettings(); } + +libconfig::Setting &GlobalSettingStation::GetMainSettings() noexcept { + return p_->GetMainSettings(); +} + +std::filesystem::path GlobalSettingStation::GetAppDir() const { + return p_->GetAppDir(); } -std::string GpgFrontend::GlobalSettingStation::GetLogFilesSize() const { - return get_human_readable_size( - get_files_size_at_path(app_log_path_, "*.log")); +std::filesystem::path GlobalSettingStation::GetAppDataPath() const { + return p_->GetAppDataPath(); } -std::string GpgFrontend::GlobalSettingStation::GetDataObjectsFilesSize() const { - return get_human_readable_size( - get_files_size_at_path(app_data_objs_path_, "*")); +[[nodiscard]] std::filesystem::path GlobalSettingStation::GetLogDir() const { + return p_->GetLogDir(); } -void GpgFrontend::GlobalSettingStation::ClearAllLogFiles() const { - delete_all_files(app_log_path_, "*.log"); +std::filesystem::path GlobalSettingStation::GetStandaloneDatabaseDir() const { + return p_->GetStandaloneDatabaseDir(); } -void GpgFrontend::GlobalSettingStation::ClearAllDataObjects() const { - delete_all_files(app_data_objs_path_, "*"); +std::filesystem::path GlobalSettingStation::GetAppConfigPath() const { + return p_->GetAppConfigPath(); } -void GpgFrontend::GlobalSettingStation::delete_all_files( - std::filesystem::path path, std::string filename_pattern) const { - auto dir = QDir(QString::fromStdString(path.u8string())); +std::filesystem::path GlobalSettingStation::GetStandaloneGpgBinDir() const { + return p_->GetStandaloneGpgBinDir(); +} - // 使用name filters来只选取以.log结尾的文件 - QStringList logFiles = dir.entryList( - QStringList() << QString::fromStdString(filename_pattern), QDir::Files); +std::filesystem::path GlobalSettingStation::GetLocaleDir() const { + return p_->GetLocaleDir(); +} - // 遍历并删除所有符合条件的文件 - for (const auto &file : logFiles) { - QFile::remove(dir.absoluteFilePath(file)); - } +std::filesystem::path GlobalSettingStation::GetResourceDir() const { + return p_->GetResourceDir(); +} + +std::filesystem::path GlobalSettingStation::GetCertsDir() const { + return p_->GetCertsDir(); +} + +std::string GlobalSettingStation::GetLogFilesSize() const { + return p_->GetLogFilesSize(); +} + +std::string GlobalSettingStation::GetDataObjectsFilesSize() const { + return p_->GetDataObjectsFilesSize(); +} + +void GlobalSettingStation::ClearAllLogFiles() const { p_->ClearAllLogFiles(); } + +void GlobalSettingStation::ClearAllDataObjects() const { + p_->ClearAllDataObjects(); } -GpgFrontend::GlobalSettingStation::~GlobalSettingStation() noexcept = default; +} // namespace GpgFrontend
\ No newline at end of file diff --git a/src/core/function/GlobalSettingStation.h b/src/core/function/GlobalSettingStation.h index 75610c92..8b76510b 100644 --- a/src/core/function/GlobalSettingStation.h +++ b/src/core/function/GlobalSettingStation.h @@ -30,6 +30,7 @@ #define GPGFRONTEND_GLOBALSETTINGSTATION_H #include <filesystem> +#include <memory> #include "GpgFrontendBuildInstallInfo.h" #include "core/GpgFrontendCore.h" @@ -38,8 +39,11 @@ namespace GpgFrontend { /** - * @brief + * @class GlobalSettingStation + * @brief Singleton class for managing global settings in the application. * + * This class handles reading and writing of global settings, as well as + * managing application directories and resource paths. */ class GPGFRONTEND_CORE_EXPORT GlobalSettingStation : public SingletonFunctionObject<GlobalSettingStation> { @@ -62,96 +66,64 @@ class GPGFRONTEND_CORE_EXPORT GlobalSettingStation * * @return libconfig::Setting& */ - libconfig::Setting &GetUISettings() noexcept; - - /** - * @brief - * - * @return libconfig::Setting& - */ - template <typename T> - T LookupSettings(std::string path, T default_value) noexcept { - T value = default_value; - try { - value = static_cast<T>(GetUISettings().lookup(path)); - } catch (...) { - SPDLOG_WARN("setting not found: {}", path); - } - return value; - } + libconfig::Setting &GetMainSettings() noexcept; /** * @brief Get the App Dir object * * @return std::filesystem::path */ - [[nodiscard]] std::filesystem::path GetAppDir() const { return app_path_; } + [[nodiscard]] std::filesystem::path GetAppDir() const; - [[nodiscard]] std::filesystem::path GetAppDataPath() const { - return app_data_path_; - } + /** + * @brief Gets the application data directory. + * @return Path to the application data directory. + */ + [[nodiscard]] std::filesystem::path GetAppDataPath() const; /** * @brief Get the Log Dir object * * @return std::filesystem::path */ - [[nodiscard]] std::filesystem::path GetLogDir() const { - return app_log_path_; - } + [[nodiscard]] std::filesystem::path GetLogDir() const; /** * @brief Get the Standalone Database Dir object * * @return std::filesystem::path */ - [[nodiscard]] std::filesystem::path GetStandaloneDatabaseDir() const { - auto db_path = app_configure_path_ / "db"; - if (!std::filesystem::exists(db_path)) { - std::filesystem::create_directory(db_path); - } - return db_path; - } + [[nodiscard]] std::filesystem::path GetStandaloneDatabaseDir() const; - [[nodiscard]] std::filesystem::path GetAppConfigPath() const { - return app_configure_path_; - } + [[nodiscard]] std::filesystem::path GetAppConfigPath() const; /** * @brief Get the Standalone Gpg Bin Dir object * * @return std::filesystem::path */ - [[nodiscard]] std::filesystem::path GetStandaloneGpgBinDir() const { - return app_resource_path_ / "gpg1.4" / "gpg"; - } + [[nodiscard]] std::filesystem::path GetStandaloneGpgBinDir() const; /** * @brief Get the Locale Dir object * * @return std::filesystem::path */ - [[nodiscard]] std::filesystem::path GetLocaleDir() const { - return app_locale_path_; - } + [[nodiscard]] std::filesystem::path GetLocaleDir() const; /** * @brief Get the Resource Dir object * * @return std::filesystem::path */ - [[nodiscard]] std::filesystem::path GetResourceDir() const { - return app_resource_path_; - } + [[nodiscard]] std::filesystem::path GetResourceDir() const; /** * @brief Get the Certs Dir object * * @return std::filesystem::path */ - [[nodiscard]] std::filesystem::path GetCertsDir() const { - return app_resource_path_ / "certs"; - } + [[nodiscard]] std::filesystem::path GetCertsDir() const; [[nodiscard]] std::string GetLogFilesSize() const; @@ -167,69 +139,26 @@ class GPGFRONTEND_CORE_EXPORT GlobalSettingStation */ void SyncSettings() noexcept; - private: - std::filesystem::path app_path_ = QCoreApplication::applicationDirPath() - .toStdString(); ///< Program Location - std::filesystem::path app_data_path_ = - QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) - .toStdString(); ///< Program Data Location - std::filesystem::path app_log_path_ = - app_data_path_ / "logs"; ///< Program Data Location - std::filesystem::path app_data_objs_path_ = - app_data_path_ / "data_objs"; ///< Object storage path - -#ifdef LINUX_INSTALL_BUILD - std::filesystem::path app_resource_path_ = - std::filesystem::path(APP_LOCALSTATE_PATH) / - "gpgfrontend"; ///< Program Data Location -#else - std::filesystem::path app_resource_path_ = - RESOURCE_DIR_BOOST_PATH(app_path_); ///< Program Data Location -#endif - -#ifdef LINUX_INSTALL_BUILD - std::filesystem::path app_locale_path_ = - std::string(APP_LOCALE_PATH); ///< Program Data Location -#else - std::filesystem::path app_locale_path_ = - app_resource_path_ / "locales"; ///< Program Data Location -#endif - - std::filesystem::path app_configure_path_ = - QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) - .toStdString(); ///< Program Configure Location - std::filesystem::path ui_config_dir_path_ = - app_configure_path_ / "conf"; ///< Configure File Directory Location - std::filesystem::path ui_config_path_ = - ui_config_dir_path_ / "main.cfg"; ///< Main Configure File Location - - libconfig::Config ui_cfg_; ///< UI Configure File - - /** - * @brief - * - */ - void init_app_secure_key(); - - /** - * @brief - * - */ - int64_t get_files_size_at_path(std::filesystem::path path, - std::string filename_pattern) const; - /** - * @brief - * + * @brief Looks up a setting by path. + * @param path The path to the setting. + * @param default_value The default value to return if setting is not found. + * @return The setting value. */ - std::string get_human_readable_size(int64_t size) const; + template <typename T> + T LookupSettings(std::string path, T default_value) noexcept { + T value = default_value; + try { + value = static_cast<T>(GetMainSettings().lookup(path)); + } catch (...) { + SPDLOG_WARN("setting not found: {}", path); + } + return value; + } - /** - * @brief - * - */ - void delete_all_files(std::filesystem::path path, - std::string filename_pattern) const; + private: + class Impl; + std::unique_ptr<Impl> p_; }; } // namespace GpgFrontend diff --git a/src/ui/GpgFrontendApplication.cpp b/src/ui/GpgFrontendApplication.cpp index 5c422f49..6f80f534 100644 --- a/src/ui/GpgFrontendApplication.cpp +++ b/src/ui/GpgFrontendApplication.cpp @@ -29,6 +29,7 @@ #include "ui/GpgFrontendApplication.h" #include <QTextCodec> +#include <boost/stacktrace.hpp> #include "GpgFrontendBuildInfo.h" @@ -77,6 +78,8 @@ bool GpgFrontendApplication::notify(QObject *receiver, QEvent *event) { app_done = QApplication::notify(receiver, event); } catch (const std::exception &ex) { SPDLOG_ERROR("exception caught in notify: {}", ex.what()); + SPDLOG_ERROR("exception stacktrace: {}", + boost::stacktrace::to_string(boost::stacktrace::stacktrace())); QMessageBox::information(nullptr, _("Standard Exception Thrown"), _("Oops, an standard exception was thrown " "during the running of the " diff --git a/src/ui/GpgFrontendUIInit.cpp b/src/ui/GpgFrontendUIInit.cpp index 03132abc..49bc01fb 100644 --- a/src/ui/GpgFrontendUIInit.cpp +++ b/src/ui/GpgFrontendUIInit.cpp @@ -252,7 +252,7 @@ void ShutdownUILoggingSystem() { void init_locale() { // get the instance of the GlobalSettingStation auto& settings = - GpgFrontend::GlobalSettingStation::GetInstance().GetUISettings(); + GpgFrontend::GlobalSettingStation::GetInstance().GetMainSettings(); // create general settings if not exist if (!settings.exists("general") || diff --git a/src/ui/UserInterfaceUtils.cpp b/src/ui/UserInterfaceUtils.cpp index 954ee42f..e44eae4d 100644 --- a/src/ui/UserInterfaceUtils.cpp +++ b/src/ui/UserInterfaceUtils.cpp @@ -341,7 +341,7 @@ void CommonUtils::SlotImportKeyFromKeyServer( std::string target_keyserver; try { - auto &settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto &settings = GlobalSettingStation::GetInstance().GetMainSettings(); SettingsObject key_server_json("key_server"); // get key servers from settings diff --git a/src/ui/dialog/Wizard.cpp b/src/ui/dialog/Wizard.cpp index 2a73477b..24ffe496 100644 --- a/src/ui/dialog/Wizard.cpp +++ b/src/ui/dialog/Wizard.cpp @@ -57,7 +57,7 @@ Wizard::Wizard(QWidget* parent) : QWizard(parent) { void Wizard::slot_wizard_accepted() { // Don't show is mapped to show -> negation try { - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); if (!settings.exists("wizard")) { settings.add("wizard", libconfig::Setting::TypeGroup); } diff --git a/src/ui/dialog/gnupg/GnuPGControllerDialog.cpp b/src/ui/dialog/gnupg/GnuPGControllerDialog.cpp index 4bcd2957..f80b6c7a 100644 --- a/src/ui/dialog/gnupg/GnuPGControllerDialog.cpp +++ b/src/ui/dialog/gnupg/GnuPGControllerDialog.cpp @@ -101,7 +101,7 @@ GnuPGControllerDialog::GnuPGControllerDialog(QWidget* parent) return; } - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); auto& general = settings["general"]; // update settings @@ -138,7 +138,7 @@ GnuPGControllerDialog::GnuPGControllerDialog(QWidget* parent) return; } - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); auto& general = settings["general"]; // update settings @@ -268,7 +268,7 @@ void GnuPGControllerDialog::slot_update_custom_gnupg_install_path_label( } void GnuPGControllerDialog::set_settings() { - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); try { bool non_ascii_when_export = @@ -319,7 +319,7 @@ void GnuPGControllerDialog::set_settings() { void GnuPGControllerDialog::apply_settings() { auto& settings = - GpgFrontend::GlobalSettingStation::GetInstance().GetUISettings(); + GpgFrontend::GlobalSettingStation::GetInstance().GetMainSettings(); if (!settings.exists("general") || settings.lookup("general").getType() != libconfig::Setting::TypeGroup) diff --git a/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp b/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp index cdc3d09e..d141c971 100644 --- a/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp +++ b/src/ui/dialog/keypair_details/KeyPairOperaTab.cpp @@ -79,7 +79,7 @@ KeyPairOperaTab::KeyPairOperaTab(const std::string& key_id, QWidget* parent) auto advance_h_box_layout = new QHBoxLayout(); // get settings - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); // read settings bool forbid_all_gnupg_connection = false; try { diff --git a/src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp b/src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp index e3eb755a..ff4ed77f 100644 --- a/src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp +++ b/src/ui/dialog/keypair_details/KeySetExpireDateDialog.cpp @@ -100,7 +100,7 @@ void KeySetExpireDateDialog::slot_confirm() { void KeySetExpireDateDialog::init() { ui_->setupUi(this); - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); bool longer_expiration_date = false; try { diff --git a/src/ui/dialog/settings/SettingsAdvanced.cpp b/src/ui/dialog/settings/SettingsAdvanced.cpp index 03b0d761..f7c6eeaa 100644 --- a/src/ui/dialog/settings/SettingsAdvanced.cpp +++ b/src/ui/dialog/settings/SettingsAdvanced.cpp @@ -68,7 +68,7 @@ void AdvancedTab::SetSettings() { void AdvancedTab::ApplySettings() { auto& settings = - GpgFrontend::GlobalSettingStation::GetInstance().GetUISettings(); + GpgFrontend::GlobalSettingStation::GetInstance().GetMainSettings(); if (!settings.exists("advanced") || settings.lookup("advanced").getType() != libconfig::Setting::TypeGroup) diff --git a/src/ui/dialog/settings/SettingsGeneral.cpp b/src/ui/dialog/settings/SettingsGeneral.cpp index 72bb4a69..08d45adf 100644 --- a/src/ui/dialog/settings/SettingsGeneral.cpp +++ b/src/ui/dialog/settings/SettingsGeneral.cpp @@ -116,7 +116,7 @@ GeneralTab::GeneralTab(QWidget* parent) * appropriately **********************************/ void GeneralTab::SetSettings() { - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); try { bool save_key_checked = settings.lookup("general.save_key_checked"); @@ -186,7 +186,7 @@ void GeneralTab::SetSettings() { *************************************/ void GeneralTab::ApplySettings() { auto& settings = - GpgFrontend::GlobalSettingStation::GetInstance().GetUISettings(); + GpgFrontend::GlobalSettingStation::GetInstance().GetMainSettings(); if (!settings.exists("general") || settings.lookup("general").getType() != libconfig::Setting::TypeGroup) diff --git a/src/ui/dialog/settings/SettingsNetwork.cpp b/src/ui/dialog/settings/SettingsNetwork.cpp index c2e74ca9..83b97ed2 100644 --- a/src/ui/dialog/settings/SettingsNetwork.cpp +++ b/src/ui/dialog/settings/SettingsNetwork.cpp @@ -97,7 +97,7 @@ GpgFrontend::UI::NetworkTab::NetworkTab(QWidget *parent) } void GpgFrontend::UI::NetworkTab::SetSettings() { - auto &settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto &settings = GlobalSettingStation::GetInstance().GetMainSettings(); try { std::string proxy_host = settings.lookup("proxy.proxy_host"); @@ -190,7 +190,7 @@ void GpgFrontend::UI::NetworkTab::SetSettings() { void GpgFrontend::UI::NetworkTab::ApplySettings() { auto &settings = - GpgFrontend::GlobalSettingStation::GetInstance().GetUISettings(); + GpgFrontend::GlobalSettingStation::GetInstance().GetMainSettings(); if (!settings.exists("proxy") || settings.lookup("proxy").getType() != libconfig::Setting::TypeGroup) diff --git a/src/ui/main_window/MainWindow.cpp b/src/ui/main_window/MainWindow.cpp index a6c2a57c..8d6a9310 100644 --- a/src/ui/main_window/MainWindow.cpp +++ b/src/ui/main_window/MainWindow.cpp @@ -32,6 +32,7 @@ #include "core/function/CacheManager.h" #include "core/function/GlobalSettingStation.h" #include "core/function/gpg/GpgAdvancedOperator.h" +#include "core/module/ModuleManager.h" #include "main_window/GeneralMainWindow.h" #include "nlohmann/json_fwd.hpp" #include "spdlog/spdlog.h" @@ -120,7 +121,7 @@ void MainWindow::Init() noexcept { edit_->CurTextPage()->setFocus(); - auto &settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto &settings = GlobalSettingStation::GetInstance().GetMainSettings(); if (!settings.exists("wizard") || settings.lookup("wizard").getType() != libconfig::Setting::TypeGroup) @@ -144,17 +145,18 @@ void MainWindow::Init() noexcept { } emit SignalLoaded(); + Module::TriggerEvent("APPLICATION_LOADED"); // if not prohibit update checking if (!prohibit_update_checking_) { - auto *version_task = new VersionCheckTask(); + // auto *version_task = new VersionCheckTask(); - connect(version_task, &VersionCheckTask::SignalUpgradeVersion, this, - &MainWindow::slot_version_upgrade); + // connect(version_task, &VersionCheckTask::SignalUpgradeVersion, this, + // &MainWindow::slot_version_upgrade); - Thread::TaskRunnerGetter::GetInstance() - .GetTaskRunner(Thread::TaskRunnerGetter::kTaskRunnerType_Network) - ->PostTask(version_task); + // Thread::TaskRunnerGetter::GetInstance() + // .GetTaskRunner(Thread::TaskRunnerGetter::kTaskRunnerType_Network) + // ->PostTask(version_task); } // before application exit @@ -198,7 +200,7 @@ void MainWindow::restore_settings() { key_server_json["default_server"] = 0; } - auto &settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto &settings = GlobalSettingStation::GetInstance().GetMainSettings(); if (!settings.exists("general") || settings.lookup("general").getType() != libconfig::Setting::TypeGroup) @@ -303,7 +305,7 @@ void MainWindow::save_settings() { for (const auto &key_id : *key_ids_need_to_store) default_key_checked.push_back(key_id); } else { - auto &settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto &settings = GlobalSettingStation::GetInstance().GetMainSettings(); settings["general"].remove("save_key_checked"); } diff --git a/src/ui/widgets/KeyList.cpp b/src/ui/widgets/KeyList.cpp index 63c1eb24..e867735b 100644 --- a/src/ui/widgets/KeyList.cpp +++ b/src/ui/widgets/KeyList.cpp @@ -380,7 +380,7 @@ void KeyList::dropEvent(QDropEvent* event) { dialog->exec(); if (dialog->result() == QDialog::Rejected) return; - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); if (!settings.exists("general") || settings.lookup("general").getType() != libconfig::Setting::TypeGroup) diff --git a/src/ui/widgets/TextEdit.cpp b/src/ui/widgets/TextEdit.cpp index 56097b1a..f44c076c 100644 --- a/src/ui/widgets/TextEdit.cpp +++ b/src/ui/widgets/TextEdit.cpp @@ -632,7 +632,7 @@ void TextEdit::slot_file_page_path_changed(const QString& path) const { void TextEdit::slot_save_status_to_cache_for_revovery() { if (this->text_page_data_modified_count_++ % 8 != 0) return; - auto& settings = GlobalSettingStation::GetInstance().GetUISettings(); + auto& settings = GlobalSettingStation::GetInstance().GetMainSettings(); bool restore_text_editor_page = false; try { restore_text_editor_page = |