aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-07-28 15:58:04 -0300
committerflow <flowlnlnln@gmail.com>2022-09-20 18:36:09 -0300
commit654157096985d0cec0d3b7bb53f39a5c0157206e (patch)
tree91a522b27991652829711e2f7cfb28887b53ed1f /launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
parent4b0ceea8941826134c949b1c2fb80e05c174e5ec (diff)
downloadPrismLauncher-654157096985d0cec0d3b7bb53f39a5c0157206e.tar.gz
PrismLauncher-654157096985d0cec0d3b7bb53f39a5c0157206e.tar.bz2
PrismLauncher-654157096985d0cec0d3b7bb53f39a5c0157206e.zip
fix: simplify abort handling and add missing emits
Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/modplatform/atlauncher/ATLPackInstallTask.cpp')
-rw-r--r--launcher/modplatform/atlauncher/ATLPackInstallTask.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
index 13cab256..a553eafd 100644
--- a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
+++ b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
@@ -90,6 +90,7 @@ void PackInstallTask::executeTask()
QObject::connect(netJob, &NetJob::succeeded, this, &PackInstallTask::onDownloadSucceeded);
QObject::connect(netJob, &NetJob::failed, this, &PackInstallTask::onDownloadFailed);
+ QObject::connect(netJob, &NetJob::aborted, this, &PackInstallTask::onDownloadAborted);
}
void PackInstallTask::onDownloadSucceeded()
@@ -169,6 +170,12 @@ void PackInstallTask::onDownloadFailed(QString reason)
emitFailed(reason);
}
+void PackInstallTask::onDownloadAborted()
+{
+ jobPtr.reset();
+ emitAborted();
+}
+
void PackInstallTask::deleteExistingFiles()
{
setStatus(tr("Deleting existing files..."));
@@ -675,6 +682,11 @@ void PackInstallTask::installConfigs()
abortable = true;
setProgress(current, total);
});
+ connect(jobPtr.get(), &NetJob::aborted, [&]{
+ abortable = false;
+ jobPtr.reset();
+ emitAborted();
+ });
jobPtr->start();
}
@@ -831,6 +843,12 @@ void PackInstallTask::downloadMods()
abortable = true;
setProgress(current, total);
});
+ connect(jobPtr.get(), &NetJob::aborted, [&]
+ {
+ abortable = false;
+ jobPtr.reset();
+ emitAborted();
+ });
jobPtr->start();
}