OSDN Git Service

Small improvement to UpdateDialog.
authorLoRd_MuldeR <mulder2@gmx.de>
Sat, 5 Sep 2020 20:04:00 +0000 (22:04 +0200)
committerLoRd_MuldeR <mulder2@gmx.de>
Sat, 5 Sep 2020 20:04:00 +0000 (22:04 +0200)
src/Config.h
src/Dialog_MainWindow.cpp
src/Dialog_MainWindow.h
src/Dialog_Update.cpp
src/Dialog_Update.h

index e847a04..f62ddc9 100644 (file)
@@ -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
 
 ///////////////////////////////////////////////////////////////////////////////
index c26e22f..27469be 100644 (file)
@@ -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<br>%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();
        }
index 40aa666..0990cd0 100644 (file)
@@ -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);
index d5c4430..764b8ee 100644 (file)
@@ -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);
index 62d2a4e..f7ce6cc 100644 (file)
@@ -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;