aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/modplatform')
-rw-r--r--launcher/modplatform/modrinth/ModrinthPackExportTask.cpp14
-rw-r--r--launcher/modplatform/modrinth/ModrinthPackExportTask.h2
2 files changed, 12 insertions, 4 deletions
diff --git a/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp b/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
index d7a43c7a..c151edf5 100644
--- a/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthPackExportTask.cpp
@@ -47,10 +47,16 @@ void ModrinthPackExportTask::executeTask()
collectFiles();
QByteArray* response = new QByteArray;
- Task::Ptr versionsTask = api.currentVersions(fileHashes.values(), "sha512", response);
- connect(versionsTask.get(), &NetJob::succeeded, [this, response]() { parseApiResponse(response); });
- connect(versionsTask.get(), &NetJob::failed, this, &ModrinthPackExportTask::emitFailed);
- versionsTask->start();
+ task = api.currentVersions(fileHashes.values(), "sha512", response);
+ connect(task.get(), &NetJob::succeeded, [this, response]() { parseApiResponse(response); });
+ connect(task.get(), &NetJob::failed, this, &ModrinthPackExportTask::emitFailed);
+ task->start();
+}
+
+bool ModrinthPackExportTask::abort() {
+ if (!task.isNull())
+ return task->abort();
+ return false;
}
void ModrinthPackExportTask::collectFiles()
diff --git a/launcher/modplatform/modrinth/ModrinthPackExportTask.h b/launcher/modplatform/modrinth/ModrinthPackExportTask.h
index 4ac00522..ec87c1cd 100644
--- a/launcher/modplatform/modrinth/ModrinthPackExportTask.h
+++ b/launcher/modplatform/modrinth/ModrinthPackExportTask.h
@@ -34,6 +34,7 @@ class ModrinthPackExportTask : public Task {
protected:
void executeTask() override;
+ bool abort() override;
private:
static const QStringList PREFIXES;
@@ -47,6 +48,7 @@ class ModrinthPackExportTask : public Task {
ModrinthAPI api;
QFileInfoList files;
QMap<QString, QString> fileHashes;
+ Task::Ptr task;
struct ResolvedFile {
QString sha1, sha512, url;