aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/help/AboutDialog.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2023-10-24 13:22:13 +0000
committerSaturneric <[email protected]>2023-10-24 13:42:16 +0000
commitfa2e87a48acbc32650ca9db073b991729dfba622 (patch)
tree1076f6b2eac737d0559cd78e70b44975c789980e /src/ui/dialog/help/AboutDialog.cpp
parentfix: solve build issues on macOS (diff)
downloadGpgFrontend-fa2e87a48acbc32650ca9db073b991729dfba622.tar.gz
GpgFrontend-fa2e87a48acbc32650ca9db073b991729dfba622.zip
feat: use module instead of integrated code at version checking task
Diffstat (limited to 'src/ui/dialog/help/AboutDialog.cpp')
-rw-r--r--src/ui/dialog/help/AboutDialog.cpp78
1 files changed, 45 insertions, 33 deletions
diff --git a/src/ui/dialog/help/AboutDialog.cpp b/src/ui/dialog/help/AboutDialog.cpp
index acd76c97..77363bef 100644
--- a/src/ui/dialog/help/AboutDialog.cpp
+++ b/src/ui/dialog/help/AboutDialog.cpp
@@ -30,15 +30,14 @@
#include <openssl/opensslv.h>
+#include <any>
#include <string>
#include "GpgFrontendBuildInfo.h"
#include "core/function/GlobalSettingStation.h"
+#include "core/module/Module.h"
#include "core/module/ModuleManager.h"
-#include "core/thread/TaskRunnerGetter.h"
-#include "spdlog/spdlog.h"
#include "ui/dialog/help/GnupgTab.h"
-#include "ui/thread/VersionCheckTask.h"
namespace GpgFrontend::UI {
@@ -204,44 +203,57 @@ UpdateTab::UpdateTab(QWidget* parent) : QWidget(parent) {
setLayout(layout);
}
+void UpdateTab::showEvent(QShowEvent* event) {
+ QWidget::showEvent(event);
+ SPDLOG_DEBUG("loading version loading info from rt");
+
+ auto is_loading_done = Module::RetrieveRTValueTypedOrDefault<>(
+ Module::GetRealModuleIdentifier(
+ "com.bktus.gpgfrontend.module.integrated.versionchecking"),
+ "version.loading_done", false);
+
+ if (!is_loading_done) {
+ Module::TriggerEvent("CHECK_APPLICATION_VERSION");
+ } else {
+ slot_show_version_status();
+ }
+}
+
void UpdateTab::slot_show_version_status() {
- this->pb_->setHidden(true);
SPDLOG_DEBUG("loading version info from rt");
- auto is_loading_done =
- std::any_cast<bool>(Module::ModuleManager::GetInstance()->RetrieveRTValue(
- "__module_com.bktus.gpgfrontend.module.integrated."
- "versionchecking",
- "version.loading_done"));
+ auto is_loading_done = Module::RetrieveRTValueTypedOrDefault<>(
+ Module::GetRealModuleIdentifier(
+ "com.bktus.gpgfrontend.module.integrated.versionchecking"),
+ "version.loading_done", false);
if (!is_loading_done) {
- SPDLOG_DEBUG("version info loading havn't been done yet");
+ SPDLOG_DEBUG("version info loading havn't been done yet.");
this->pb_->setHidden(false);
+ return;
+ } else {
+ this->pb_->setHidden(true);
}
- auto is_need_upgrade =
- std::any_cast<bool>(Module::ModuleManager::GetInstance()->RetrieveRTValue(
- "__module_com.bktus.gpgfrontend.module.integrated."
- "versionchecking",
- "version.need_upgrade"));
-
- auto is_current_a_withdrawn_version =
- std::any_cast<bool>(Module::ModuleManager::GetInstance()->RetrieveRTValue(
- "__module_com.bktus.gpgfrontend.module.integrated."
- "versionchecking",
- "version.current_a_withdrawn_version"));
-
- auto is_current_version_released =
- std::any_cast<bool>(Module::ModuleManager::GetInstance()->RetrieveRTValue(
- "__module_com.bktus.gpgfrontend.module.integrated."
- "versionchecking",
- "version.current_version_released"));
-
- auto latest_version = std::any_cast<std::string>(
- Module::ModuleManager::GetInstance()->RetrieveRTValue(
- "__module_com.bktus.gpgfrontend.module.integrated."
- "versionchecking",
- "version.latest_version"));
+ auto is_need_upgrade = Module::RetrieveRTValueTypedOrDefault<>(
+ Module::GetRealModuleIdentifier(
+ "com.bktus.gpgfrontend.module.integrated.versionchecking"),
+ "version.need_upgrade", false);
+
+ auto is_current_a_withdrawn_version = Module::RetrieveRTValueTypedOrDefault<>(
+ Module::GetRealModuleIdentifier(
+ "com.bktus.gpgfrontend.module.integrated.versionchecking"),
+ "version.current_a_withdrawn_version", false);
+
+ auto is_current_version_released = Module::RetrieveRTValueTypedOrDefault<>(
+ Module::GetRealModuleIdentifier(
+ "com.bktus.gpgfrontend.module.integrated.versionchecking"),
+ "version.current_version_released", false);
+
+ auto latest_version = Module::RetrieveRTValueTypedOrDefault<>(
+ Module::GetRealModuleIdentifier(
+ "com.bktus.gpgfrontend.module.integrated.versionchecking"),
+ "version.latest_version", std::string{});
latest_version_label_->setText(
"<center><b>" + QString(_("Latest Version From Github")) + ": " +