aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/modpacksch
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-10-13 15:10:35 -0300
committerflow <flowlnlnln@gmail.com>2022-10-13 15:10:35 -0300
commitdfa220ef02f23ff734dec6247f4a124a7a144c7a (patch)
tree73dc55f36db5e421ad529f21fd38fcc5291d7974 /launcher/modplatform/modpacksch
parentf26be005716818b643a0c8b1373dbe83e4cdcfbf (diff)
downloadPrismLauncher-dfa220ef02f23ff734dec6247f4a124a7a144c7a.tar.gz
PrismLauncher-dfa220ef02f23ff734dec6247f4a124a7a144c7a.tar.bz2
PrismLauncher-dfa220ef02f23ff734dec6247f4a124a7a144c7a.zip
fix: issues with aborts (again)
i hate it Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/modplatform/modpacksch')
-rw-r--r--launcher/modplatform/modpacksch/FTBPackInstallTask.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/launcher/modplatform/modpacksch/FTBPackInstallTask.cpp b/launcher/modplatform/modpacksch/FTBPackInstallTask.cpp
index cc926d45..7b112d8f 100644
--- a/launcher/modplatform/modpacksch/FTBPackInstallTask.cpp
+++ b/launcher/modplatform/modpacksch/FTBPackInstallTask.cpp
@@ -73,8 +73,8 @@ bool PackInstallTask::abort()
void PackInstallTask::executeTask()
{
- setAbortable(true);
setStatus(tr("Getting the manifest..."));
+ setAbortable(false);
// Find pack version
auto version_it = std::find_if(m_pack.versions.constBegin(), m_pack.versions.constEnd(),
@@ -94,10 +94,12 @@ void PackInstallTask::executeTask()
QObject::connect(netJob, &NetJob::succeeded, this, &PackInstallTask::onManifestDownloadSucceeded);
QObject::connect(netJob, &NetJob::failed, this, &PackInstallTask::onManifestDownloadFailed);
+ QObject::connect(netJob, &NetJob::aborted, this, &PackInstallTask::abort);
QObject::connect(netJob, &NetJob::progress, this, &PackInstallTask::setProgress);
m_net_job = netJob;
+ setAbortable(true);
netJob->start();
}
@@ -130,8 +132,8 @@ void PackInstallTask::onManifestDownloadSucceeded()
void PackInstallTask::resolveMods()
{
- setAbortable(true);
setStatus(tr("Resolving mods..."));
+ setAbortable(false);
setProgress(0, 100);
m_file_id_map.clear();
@@ -164,8 +166,11 @@ void PackInstallTask::resolveMods()
connect(m_mod_id_resolver_task.get(), &Flame::FileResolvingTask::succeeded, this, &PackInstallTask::onResolveModsSucceeded);
connect(m_mod_id_resolver_task.get(), &Flame::FileResolvingTask::failed, this, &PackInstallTask::onResolveModsFailed);
+ connect(m_mod_id_resolver_task.get(), &Flame::FileResolvingTask::aborted, this, &PackInstallTask::abort);
connect(m_mod_id_resolver_task.get(), &Flame::FileResolvingTask::progress, this, &PackInstallTask::setProgress);
+ setAbortable(true);
+
m_mod_id_resolver_task->start();
}
@@ -279,9 +284,8 @@ void PackInstallTask::onCreateInstanceSucceeded()
void PackInstallTask::downloadPack()
{
- setAbortable(true);
-
setStatus(tr("Downloading mods..."));
+ setAbortable(false);
auto* jobPtr = new NetJob(tr("Mod download"), APPLICATION->network());
for (auto const& file : m_version.files) {
@@ -304,9 +308,12 @@ void PackInstallTask::downloadPack()
connect(jobPtr, &NetJob::succeeded, this, &PackInstallTask::onModDownloadSucceeded);
connect(jobPtr, &NetJob::failed, this, &PackInstallTask::onModDownloadFailed);
+ connect(jobPtr, &NetJob::aborted, this, &PackInstallTask::abort);
connect(jobPtr, &NetJob::progress, this, &PackInstallTask::setProgress);
m_net_job = jobPtr;
+
+ setAbortable(true);
jobPtr->start();
}