aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/atlauncher
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-11-04 18:30:42 +0100
committerSefa Eyeoglu <contact@scrumplex.net>2022-11-04 18:30:42 +0100
commit21a7af535c8b5b9d231aa3c41f7a990689fde560 (patch)
treeaf106527454f91335ec02b17bd36746bf2c3af60 /launcher/modplatform/atlauncher
parenta241d3f187f07cd3049c0d17f711c674fd6e7ccd (diff)
parent8f045af8679e9ae1da120eb56e4cec452284ac56 (diff)
downloadPrismLauncher-21a7af535c8b5b9d231aa3c41f7a990689fde560.tar.gz
PrismLauncher-21a7af535c8b5b9d231aa3c41f7a990689fde560.tar.bz2
PrismLauncher-21a7af535c8b5b9d231aa3c41f7a990689fde560.zip
Merge branch 'develop' into macos-drag-n-drop
Diffstat (limited to 'launcher/modplatform/atlauncher')
-rw-r--r--launcher/modplatform/atlauncher/ATLPackInstallTask.cpp11
-rw-r--r--launcher/modplatform/atlauncher/ATLPackInstallTask.h8
2 files changed, 12 insertions, 7 deletions
diff --git a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
index a553eafd..291ad916 100644
--- a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
+++ b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
@@ -58,7 +58,7 @@
namespace ATLauncher {
-static Meta::VersionPtr getComponentVersion(const QString& uid, const QString& version);
+static Meta::Version::Ptr getComponentVersion(const QString& uid, const QString& version);
PackInstallTask::PackInstallTask(UserInteractionSupport *support, QString packName, QString version, InstallMode installMode)
{
@@ -736,7 +736,12 @@ void PackInstallTask::downloadMods()
QVector<QString> selectedMods;
if (!optionalMods.isEmpty()) {
setStatus(tr("Selecting optional mods..."));
- selectedMods = m_support->chooseOptionalMods(m_version, optionalMods);
+ auto mods = m_support->chooseOptionalMods(m_version, optionalMods);
+ if (!mods.has_value()) {
+ emitAborted();
+ return;
+ }
+ selectedMods = mods.value();
}
setStatus(tr("Downloading mods..."));
@@ -1032,7 +1037,7 @@ void PackInstallTask::install()
emitSucceeded();
}
-static Meta::VersionPtr getComponentVersion(const QString& uid, const QString& version)
+static Meta::Version::Ptr getComponentVersion(const QString& uid, const QString& version)
{
auto vlist = APPLICATION->metadataIndex()->get(uid);
if (!vlist)
diff --git a/launcher/modplatform/atlauncher/ATLPackInstallTask.h b/launcher/modplatform/atlauncher/ATLPackInstallTask.h
index ed4436f0..90e25ae2 100644
--- a/launcher/modplatform/atlauncher/ATLPackInstallTask.h
+++ b/launcher/modplatform/atlauncher/ATLPackInstallTask.h
@@ -62,13 +62,13 @@ public:
/**
* Requests a user interaction to select which optional mods should be installed.
*/
- virtual QVector<QString> chooseOptionalMods(PackVersion version, QVector<ATLauncher::VersionMod> mods) = 0;
+ virtual std::optional<QVector<QString>> chooseOptionalMods(PackVersion version, QVector<ATLauncher::VersionMod> mods) = 0;
/**
* Requests a user interaction to select a component version from a given version list
* and constrained to a given Minecraft version.
*/
- virtual QString chooseVersion(Meta::VersionListPtr vlist, QString minecraftVersion) = 0;
+ virtual QString chooseVersion(Meta::VersionList::Ptr vlist, QString minecraftVersion) = 0;
/**
* Requests a user interaction to display a message.
@@ -137,8 +137,8 @@ private:
QString archivePath;
QStringList jarmods;
- Meta::VersionPtr minecraftVersion;
- QMap<QString, Meta::VersionPtr> componentsToInstall;
+ Meta::Version::Ptr minecraftVersion;
+ QMap<QString, Meta::Version::Ptr> componentsToInstall;
QFuture<std::optional<QStringList>> m_extractFuture;
QFutureWatcher<std::optional<QStringList>> m_extractFutureWatcher;