aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform
diff options
context:
space:
mode:
authorTheKodeToad <TheKodeToad@proton.me>2023-08-31 14:58:54 +0100
committerGitHub <noreply@github.com>2023-08-31 14:58:54 +0100
commit25ce11d85d1aa9060e9df335a63f3de5e61c7f6b (patch)
treee273257fef10a5dac301f8db5f2fcfd70f57c72f /launcher/modplatform
parentb83fdbd1b752acdf555fb90d397ff61ddb896f2c (diff)
parent8c607ae7348206c29a8a8ce5e2db421138bd89ff (diff)
downloadPrismLauncher-25ce11d85d1aa9060e9df335a63f3de5e61c7f6b.tar.gz
PrismLauncher-25ce11d85d1aa9060e9df335a63f3de5e61c7f6b.tar.bz2
PrismLauncher-25ce11d85d1aa9060e9df335a63f3de5e61c7f6b.zip
Merge pull request #1539 from Trial97/refactor_modpack_ux
Improvements to modpack UX
Diffstat (limited to 'launcher/modplatform')
-rw-r--r--launcher/modplatform/ResourceAPI.h4
-rw-r--r--launcher/modplatform/helpers/NetworkResourceAPI.cpp3
2 files changed, 5 insertions, 2 deletions
diff --git a/launcher/modplatform/ResourceAPI.h b/launcher/modplatform/ResourceAPI.h
index 7965d0f5..3b195938 100644
--- a/launcher/modplatform/ResourceAPI.h
+++ b/launcher/modplatform/ResourceAPI.h
@@ -105,7 +105,9 @@ class ResourceAPI {
void operator=(ProjectInfoArgs other) { pack = other.pack; }
};
struct ProjectInfoCallbacks {
- std::function<void(QJsonDocument&, ModPlatform::IndexedPack)> on_succeed;
+ std::function<void(QJsonDocument&, const ModPlatform::IndexedPack&)> on_succeed;
+ std::function<void(QString const& reason)> on_fail;
+ std::function<void()> on_abort;
};
struct DependencySearchArgs {
diff --git a/launcher/modplatform/helpers/NetworkResourceAPI.cpp b/launcher/modplatform/helpers/NetworkResourceAPI.cpp
index 78b39fff..dccccdc2 100644
--- a/launcher/modplatform/helpers/NetworkResourceAPI.cpp
+++ b/launcher/modplatform/helpers/NetworkResourceAPI.cpp
@@ -72,7 +72,8 @@ Task::Ptr NetworkResourceAPI::getProjectInfo(ProjectInfoArgs&& args, ProjectInfo
callbacks.on_succeed(doc, args.pack);
});
-
+ QObject::connect(job.get(), &NetJob::failed, [callbacks](QString reason) { callbacks.on_fail(reason); });
+ QObject::connect(job.get(), &NetJob::aborted, [callbacks] { callbacks.on_abort(); });
return job;
}