From 3821569363bdc13c59704c2f37c5de9fee5a21e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Mon, 14 Jul 2014 00:57:54 +0200 Subject: Show changelog even when there are no new updates available. --- gui/MainWindow.cpp | 14 ++++++++------ gui/MainWindow.h | 2 ++ gui/dialogs/SettingsDialog.cpp | 2 +- gui/dialogs/UpdateDialog.cpp | 13 +++++++++++-- gui/dialogs/UpdateDialog.h | 2 +- 5 files changed, 23 insertions(+), 10 deletions(-) (limited to 'gui') diff --git a/gui/MainWindow.cpp b/gui/MainWindow.cpp index bee250c4..552f6a2d 100644 --- a/gui/MainWindow.cpp +++ b/gui/MainWindow.cpp @@ -305,12 +305,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi auto updater = MMC->updateChecker(); connect(updater.get(), &UpdateChecker::updateAvailable, this, &MainWindow::updateAvailable); - connect(updater.get(), &UpdateChecker::noUpdateFound, [this]() - { - CustomMessageBox::selectable( - this, tr("No update found."), - tr("No MultiMC update was found!\nYou are using the latest version."))->exec(); - }); + connect(updater.get(), &UpdateChecker::noUpdateFound, this, + &MainWindow::updateNotAvailable); // if automatic update checks are allowed, start one. if (MMC->settings()->get("AutoUpdate").toBool()) on_actionCheckUpdate_triggered(); @@ -621,6 +617,12 @@ void MainWindow::updateAvailable(QString repo, QString versionName, int versionI } } +void MainWindow::updateNotAvailable() +{ + UpdateDialog dlg(false); + dlg.exec(); +} + QList stringToIntList(const QString &string) { QStringList split = string.split(',', QString::SkipEmptyParts); diff --git a/gui/MainWindow.h b/gui/MainWindow.h index 182e9c0c..36ef883b 100644 --- a/gui/MainWindow.h +++ b/gui/MainWindow.h @@ -154,6 +154,8 @@ slots: void updateAvailable(QString repo, QString versionName, int versionId); + void updateNotAvailable(); + void notificationsChanged(); void activeAccountChanged(); diff --git a/gui/dialogs/SettingsDialog.cpp b/gui/dialogs/SettingsDialog.cpp index 5108daa2..46368bc1 100644 --- a/gui/dialogs/SettingsDialog.cpp +++ b/gui/dialogs/SettingsDialog.cpp @@ -73,7 +73,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent), ui(new Ui::Se } else { - MMC->updateChecker()->updateChanList(); + MMC->updateChecker()->updateChanList(false); } connect(ui->proxyGroup, SIGNAL(buttonClicked(int)), SLOT(proxyChanged(int))); ui->mceditLink->setOpenExternalLinks(true); diff --git a/gui/dialogs/UpdateDialog.cpp b/gui/dialogs/UpdateDialog.cpp index 25cfa853..29d09ead 100644 --- a/gui/dialogs/UpdateDialog.cpp +++ b/gui/dialogs/UpdateDialog.cpp @@ -5,12 +5,21 @@ #include "MultiMC.h" #include -UpdateDialog::UpdateDialog(QWidget *parent) : QDialog(parent), ui(new Ui::UpdateDialog) +UpdateDialog::UpdateDialog(bool hasUpdate, QWidget *parent) : QDialog(parent), ui(new Ui::UpdateDialog) { MultiMCPlatform::fixWM_CLASS(this); ui->setupUi(this); auto channel = MMC->settings()->get("UpdateChannel").toString(); - ui->label->setText(tr("A new %1 update is available!").arg(channel)); + if(hasUpdate) + { + ui->label->setText(tr("A new %1 update is available!").arg(channel)); + } + else + { + ui->label->setText(tr("No %1 updates found. You are running the latest version.").arg(channel)); + ui->btnUpdateNow->setDisabled(true); + ui->btnUpdateOnExit->setDisabled(true); + } loadChangelog(); } diff --git a/gui/dialogs/UpdateDialog.h b/gui/dialogs/UpdateDialog.h index 970ef42a..b0a4f143 100644 --- a/gui/dialogs/UpdateDialog.h +++ b/gui/dialogs/UpdateDialog.h @@ -36,7 +36,7 @@ class UpdateDialog : public QDialog Q_OBJECT public: - explicit UpdateDialog(QWidget *parent = 0); + explicit UpdateDialog(bool hasUpdate = true, QWidget *parent = 0); ~UpdateDialog(); private: -- cgit v1.2.3