aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/help/AboutDialog.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2022-01-03 22:10:04 +0000
committerSaturneric <[email protected]>2022-01-03 22:10:04 +0000
commit2f64e4300b77f74cc4a7f0f50dbfe87862b72b95 (patch)
tree0d56d21ed78b5b1377681338619ac79c32386335 /src/ui/help/AboutDialog.cpp
parent<fix, feature>(core, ui): key package import. (diff)
downloadGpgFrontend-2f64e4300b77f74cc4a7f0f50dbfe87862b72b95.tar.gz
GpgFrontend-2f64e4300b77f74cc4a7f0f50dbfe87862b72b95.zip
<fix, feature>(core, ui): version system upgrade.
1. can notice user withdraw version now. 2. fix software not restart when signal caught. 3. improve ui.
Diffstat (limited to 'src/ui/help/AboutDialog.cpp')
-rw-r--r--src/ui/help/AboutDialog.cpp43
1 files changed, 24 insertions, 19 deletions
diff --git a/src/ui/help/AboutDialog.cpp b/src/ui/help/AboutDialog.cpp
index 5ee90e23..a3db6eda 100644
--- a/src/ui/help/AboutDialog.cpp
+++ b/src/ui/help/AboutDialog.cpp
@@ -163,14 +163,6 @@ UpdateTab::UpdateTab(QWidget* parent) : QWidget(parent) {
latestVersionLabel->setWordWrap(true);
upgradeLabel = new QLabel();
- upgradeLabel->setText(
- "<center>" +
- QString(_("The current version is less than the latest version on "
- "github.")) +
- "</center><center>" + _("Please click") +
- " <a "
- "href=\"https://github.com/saturneric/GpgFrontend/releases\">" +
- _("Here") + "</a> " + _("to download the latest version.") + "</center>");
upgradeLabel->setWordWrap(true);
upgradeLabel->setOpenExternalLinks(true);
upgradeLabel->setHidden(true);
@@ -196,11 +188,7 @@ void UpdateTab::getLatestVersion() {
LOG(INFO) << _("try to get latest version");
- QString base_url =
- "https://api.github.com/repos/saturneric/gpgfrontend/releases/latest";
- QNetworkRequest request;
- request.setUrl(QUrl(base_url));
- auto version_thread = new VersionCheckThread(manager->get(request));
+ auto version_thread = new VersionCheckThread();
connect(version_thread, SIGNAL(finished()), version_thread,
SLOT(deleteLater()));
@@ -210,16 +198,33 @@ void UpdateTab::getLatestVersion() {
version_thread->start();
}
-void UpdateTab::slotShowVersionStatus(const QString& current,
- const QString& server) {
+void UpdateTab::slotShowVersionStatus(const SoftwareVersion& version) {
this->pb->setHidden(true);
-
latestVersionLabel->setText("<center><b>" +
QString(_("Latest Version From Github")) + ": " +
- server + "</b></center>");
-
- if (current < server) {
+ version.latest_version.c_str() + "</b></center>");
+
+ if (version.NeedUpgrade()) {
+ upgradeLabel->setText(
+ "<center>" +
+ QString(_("The current version is less than the latest version on "
+ "github.")) +
+ "</center><center>" + _("Please click") +
+ " <a "
+ "href=\"https://github.com/saturneric/GpgFrontend/releases\">" +
+ _("Here") + "</a> " + _("to download the latest stable version.") +
+ "</center>");
upgradeLabel->show();
+ } else if (version.VersionWithDrawn()) {
+ upgradeLabel->setText(
+ "<center>" +
+ QString(_("This version has serious problems and has been withdrawn. "
+ "Please stop using it immediately.")) +
+ "</center><center>" + _("Please click") +
+ " <a "
+ "href=\"https://github.com/saturneric/GpgFrontend/releases\">" +
+ _("Here") + "</a> " + _("to download the latest stable version.") +
+ "</center>");
}
}