fix: final fixes
- use `done(code)` for offer dialog Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
This commit is contained in:
parent
c123558314
commit
400a2f7201
@ -47,17 +47,17 @@ UpdateAvailableDialog::UpdateAvailableDialog(const QString& currentVersion,
|
||||
ui->releaseNotes->setOpenExternalLinks(true);
|
||||
|
||||
connect(ui->skipButton, &QPushButton::clicked, this, [this](){
|
||||
this->setResult(DialogCode::Skip);
|
||||
this->close();
|
||||
setResult(ResultCode::Skip);
|
||||
done(ResultCode::Skip);
|
||||
});
|
||||
|
||||
connect(ui->delayButton, &QPushButton::clicked, this, [this](){
|
||||
this->setResult(DialogCode::DontInstall);
|
||||
this->close();
|
||||
setResult(ResultCode::DontInstall);
|
||||
done(ResultCode::DontInstall);
|
||||
});
|
||||
|
||||
connect(ui->installButton, &QPushButton::clicked, this, [this](){
|
||||
this->setResult(DialogCode::Install);
|
||||
this->close();
|
||||
setResult(ResultCode::Install);
|
||||
done(ResultCode::Install);
|
||||
});
|
||||
}
|
||||
|
@ -32,10 +32,10 @@ class UpdateAvailableDialog : public QDialog {
|
||||
|
||||
public:
|
||||
|
||||
enum DialogCode {
|
||||
Install,
|
||||
DontInstall,
|
||||
Skip,
|
||||
enum ResultCode {
|
||||
Install = 10,
|
||||
DontInstall = 11,
|
||||
Skip = 12,
|
||||
};
|
||||
|
||||
explicit UpdateAvailableDialog(const QString& currentVersion,
|
||||
|
@ -134,7 +134,8 @@ void PrismExternalUpdater::checkForUpdates()
|
||||
// there was an error
|
||||
{
|
||||
qDebug() << "Updater subprocess error" << qPrintable(std_error);
|
||||
auto msgBox = QMessageBox(QMessageBox::Warning, tr("Update Check Error"), tr("There was an error running the update check."));
|
||||
auto msgBox =
|
||||
QMessageBox(QMessageBox::Warning, tr("Update Check Error"), tr("There was an error running the update check."));
|
||||
msgBox.setDetailedText(std_error);
|
||||
msgBox.exec();
|
||||
}
|
||||
@ -244,15 +245,20 @@ void PrismExternalUpdater::offerUpdate(const QString& version_name, const QStrin
|
||||
auto should_skip = priv->settings->value(version_tag, false).toBool();
|
||||
priv->settings->endGroup();
|
||||
|
||||
if (should_skip)
|
||||
if (should_skip) {
|
||||
auto msgBox = QMessageBox(QMessageBox::Information, tr("No Update Available"), tr("There are no new updates available."));
|
||||
msgBox.exec();
|
||||
return;
|
||||
}
|
||||
|
||||
UpdateAvailableDialog dlg(BuildConfig.printableVersionString(), version_name, release_notes);
|
||||
|
||||
auto result = dlg.exec();
|
||||
qDebug() << "offer dlg result" << result;
|
||||
switch (result) {
|
||||
case UpdateAvailableDialog::Install: {
|
||||
performUpdate(version_tag);
|
||||
return;
|
||||
}
|
||||
case UpdateAvailableDialog::Skip: {
|
||||
priv->settings->beginGroup("skip");
|
||||
|
@ -327,6 +327,11 @@ PrismUpdaterApp::PrismUpdaterApp(int& argc, char** argv) : QApplication(argc, ar
|
||||
// on command line
|
||||
adjustedBy = "Command line";
|
||||
m_dataPath = dirParam;
|
||||
#ifndef Q_OS_MACOS
|
||||
if (QFile::exists(FS::PathCombine(m_rootPath, "portable.txt"))) {
|
||||
m_isPortable = true;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
QDir foo(FS::PathCombine(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation), ".."));
|
||||
m_dataPath = foo.absolutePath();
|
||||
@ -958,8 +963,6 @@ void PrismUpdaterApp::performInstall(QFileInfo file)
|
||||
return showFatalErrorMessage(tr("Update Aborted"), tr("The update attempt was aborted"));
|
||||
}
|
||||
}
|
||||
write_lock_file(update_lock_path, QDateTime::currentDateTime(), m_prismVersion, m_install_release.tag_name, applicationDirPath(),
|
||||
m_dataPath);
|
||||
clearUpdateLog();
|
||||
|
||||
auto changelog_path = FS::PathCombine(m_dataPath, ".prism_launcher_update.changelog");
|
||||
@ -967,6 +970,8 @@ void PrismUpdaterApp::performInstall(QFileInfo file)
|
||||
|
||||
logUpdate(tr("Updating from %1 to %2").arg(m_prismVersion).arg(m_install_release.tag_name));
|
||||
if (m_isPortable || file.suffix().toLower() == "zip") {
|
||||
write_lock_file(update_lock_path, QDateTime::currentDateTime(), m_prismVersion, m_install_release.tag_name, applicationDirPath(),
|
||||
m_dataPath);
|
||||
logUpdate(tr("Updating portable install at %1").arg(applicationDirPath()));
|
||||
unpackAndInstall(file);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user