diff options
author | Saturneric <[email protected]> | 2022-01-03 22:10:04 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2022-01-03 22:10:04 +0000 |
commit | 2f64e4300b77f74cc4a7f0f50dbfe87862b72b95 (patch) | |
tree | 0d56d21ed78b5b1377681338619ac79c32386335 /src/ui/help/AboutDialog.cpp | |
parent | <fix, feature>(core, ui): key package import. (diff) | |
download | GpgFrontend-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 '')
-rw-r--r-- | src/ui/help/AboutDialog.cpp | 43 |
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>"); } } |