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:
Rachel Powers
2023-06-28 12:46:28 -07:00
parent c123558314
commit 400a2f7201
4 changed files with 25 additions and 14 deletions

View File

@ -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");

View File

@ -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 {