From 3073ceb312f3cc290655d20c2c82791592205985 Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Sat, 5 Sep 2020 22:04:00 +0200 Subject: [PATCH] Small improvement to UpdateDialog. --- src/Config.h | 2 +- src/Dialog_MainWindow.cpp | 32 +++++++++++++++++++++++--------- src/Dialog_MainWindow.h | 2 +- src/Dialog_Update.cpp | 8 +++++--- src/Dialog_Update.h | 2 ++ 5 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/Config.h b/src/Config.h index e847a04f..f62ddc9a 100644 --- a/src/Config.h +++ b/src/Config.h @@ -35,7 +35,7 @@ #define VER_LAMEXP_MINOR_LO 9 #define VER_LAMEXP_TYPE Beta #define VER_LAMEXP_PATCH 2 -#define VER_LAMEXP_BUILD 2278 +#define VER_LAMEXP_BUILD 2279 #define VER_LAMEXP_CONFG 2188 /////////////////////////////////////////////////////////////////////////////// diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index c26e22f1..27469bed 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -937,8 +937,9 @@ void MainWindow::addFolder(const QString &path, bool recursive, bool delayed, QS /* * Check for updates */ -bool MainWindow::checkForUpdates(void) +bool MainWindow::checkForUpdates(bool &haveNewVersion) { + haveNewVersion = false; bool bReadyToInstall = false; UpdateDialog *updateDialog = new UpdateDialog(m_settings, this); @@ -948,6 +949,7 @@ bool MainWindow::checkForUpdates(void) { SHOW_CORNER_WIDGET(false); m_settings->autoUpdateLastCheck(QDate::currentDate().toString(Qt::ISODate)); + haveNewVersion = updateDialog->haveNewVersion(); bReadyToInstall = updateDialog->updateReadyToInstall(); } @@ -1513,14 +1515,22 @@ void MainWindow::windowShown(void) { if(MUtils::OS::current_date() >= lamexp_version_expires()) { - qWarning("Binary has expired !!!"); + qWarning("Binary expired !!!"); PLAY_SOUND_OPTIONAL("whammy", false); + bool haveNewVersion = true; if(QMessageBox::warning(this, tr("LameXP - Expired"), NOBREAK(QString("%1
%2").arg(tr("This demo (pre-release) version of LameXP has expired at %1.").arg(lamexp_version_expires().toString(Qt::ISODate)), tr("LameXP is free software and release versions won't expire."))), tr("Check for Updates"), tr("Exit Program")) == 0) { - checkForUpdates(); + if (checkForUpdates(haveNewVersion)) + { + QApplication::quit(); + return; + } + } + if(haveNewVersion) + { + QApplication::quit(); + return; } - QApplication::quit(); - return; } } @@ -1546,7 +1556,8 @@ void MainWindow::windowShown(void) switch(ret) { case 0: - if(checkForUpdates()) + bool haveNewVersion; + if(checkForUpdates(haveNewVersion)) { QApplication::quit(); return; @@ -1572,7 +1583,8 @@ void MainWindow::windowShown(void) { if(QMessageBox::information(this, tr("Update Reminder"), NOBREAK(lastUpdateCheck.isValid() ? tr("Your last update check was more than 14 days ago. Check for updates now?") : tr("Your did not check for LameXP updates yet. Check for updates now?")), tr("Check for Updates"), tr("Postpone")) == 0) { - if(checkForUpdates()) + bool haveNewVersion; + if(checkForUpdates(haveNewVersion)) { QApplication::quit(); return; @@ -2266,7 +2278,8 @@ void MainWindow::checkForBetaUpdatesActionTriggered(bool checked) if(checkUpdatesNow) { - if(checkForUpdates()) + bool haveNewVersion; + if(checkForUpdates(haveNewVersion)) { QApplication::quit(); } @@ -2369,7 +2382,8 @@ void MainWindow::checkUpdatesActionActivated(void) ABORT_IF_BUSY; WidgetHideHelper hiderHelper(m_dropBox.data()); - if(checkForUpdates()) + bool haveNewVersion; + if(checkForUpdates(haveNewVersion)) { QApplication::quit(); } diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h index 40aa6669..0990cd04 100644 --- a/src/Dialog_MainWindow.h +++ b/src/Dialog_MainWindow.h @@ -208,7 +208,7 @@ private: void addFiles(const QStringList &files); void addFolder(const QString &path, bool recursive = false, bool delayed = false, QString filter = QString()); - bool checkForUpdates(void); + bool MainWindow::checkForUpdates(bool &haveNewVersion); void initializeTranslation(void); void refreshFavorites(void); void openDocumentLink(QAction *const action); diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp index d5c4430d..764b8eef 100644 --- a/src/Dialog_Update.cpp +++ b/src/Dialog_Update.cpp @@ -79,6 +79,7 @@ UpdateDialog::UpdateDialog(const SettingsModel *const settings, QWidget *parent) m_logFile(new QStringList()), m_betaUpdates(settings ? (settings->autoUpdateCheckBeta() || lamexp_version_demo()) : lamexp_version_demo()), m_success(false), + m_haveNewVersion(false), m_firstShow(true), m_updateReadyToInstall(false), m_updaterProcess(NULL), @@ -357,9 +358,9 @@ void UpdateDialog::threadFinished(void) } else { - const bool bHaveUpdate = (m_thread->getUpdateStatus() == MUtils::UpdateChecker::UpdateStatus_CompletedUpdateAvailable); - ui->installButton->setEnabled(bHaveUpdate); - MUtils::Sound::beep(bHaveUpdate ? MUtils::Sound::BEEP_NFO : MUtils::Sound::BEEP_WRN); + const bool bHaveNewVersion = (m_thread->getUpdateStatus() == MUtils::UpdateChecker::UpdateStatus_CompletedUpdateAvailable); + ui->installButton->setEnabled(bHaveNewVersion); + MUtils::Sound::beep(bHaveNewVersion ? MUtils::Sound::BEEP_NFO : MUtils::Sound::BEEP_WRN); if(const MUtils::UpdateCheckerInfo *const updateInfo = m_thread->getUpdateInfo()) { @@ -369,6 +370,7 @@ void UpdateDialog::threadFinished(void) } m_success = true; + m_haveNewVersion = bHaveNewVersion; } ui->retryButton->setVisible(!bSuccess); diff --git a/src/Dialog_Update.h b/src/Dialog_Update.h index 62d2a4ed..f7ce6ccc 100644 --- a/src/Dialog_Update.h +++ b/src/Dialog_Update.h @@ -51,6 +51,7 @@ public: bool getSuccess(void) { return m_success; } bool updateReadyToInstall(void) { return m_updateReadyToInstall; } + bool haveNewVersion(void) { return m_haveNewVersion; } private slots: void updateInit(void); @@ -90,6 +91,7 @@ private: unsigned long m_updaterProcess; bool m_success; + bool m_haveNewVersion; bool m_updateReadyToInstall; bool m_firstShow;