diff options
author | flow <flowlnlnln@gmail.com> | 2022-06-23 07:58:27 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2022-07-03 12:43:04 -0300 |
commit | 4bfc445cf8f2a9b0e1d704e43f5a81f841159f79 (patch) | |
tree | e16f908db34de4e1e5ff6b9031843f3f938d02b7 | |
parent | 4232b1cedbae070ef27bd56d3fb3fad165e9836e (diff) | |
download | PrismLauncher-4bfc445cf8f2a9b0e1d704e43f5a81f841159f79.tar.gz PrismLauncher-4bfc445cf8f2a9b0e1d704e43f5a81f841159f79.tar.bz2 PrismLauncher-4bfc445cf8f2a9b0e1d704e43f5a81f841159f79.zip |
fix: add progress indicator on Flame mod resolution dialog
This code is super :pofat: omg
Signed-off-by: flow <flowlnlnln@gmail.com>
-rw-r--r-- | launcher/InstanceImportTask.cpp | 15 | ||||
-rw-r--r-- | launcher/modplatform/flame/FileResolvingTask.cpp | 4 |
2 files changed, 10 insertions, 9 deletions
diff --git a/launcher/InstanceImportTask.cpp b/launcher/InstanceImportTask.cpp index d5684805..6b0f08d1 100644 --- a/launcher/InstanceImportTask.cpp +++ b/launcher/InstanceImportTask.cpp @@ -412,12 +412,8 @@ void InstanceImportTask::processFlame() "You will need to manually download them and add them to the modpack"), text); message_dialog->setModal(true); - message_dialog->show(); - connect(message_dialog, &QDialog::rejected, [&]() { - m_modIdResolver.reset(); - emitFailed("Canceled"); - }); - connect(message_dialog, &QDialog::accepted, [&]() { + + if (message_dialog->exec()) { m_filesNetJob = new NetJob(tr("Mod download"), APPLICATION->network()); for (const auto &result: m_modIdResolver->getResults().files) { QString filename = result.fileName; @@ -469,8 +465,11 @@ void InstanceImportTask::processFlame() }); setStatus(tr("Downloading mods...")); m_filesNetJob->start(); - }); - }else{ + } else { + m_modIdResolver.reset(); + emitFailed("Canceled"); + } + } else { //TODO extract to function ? m_filesNetJob = new NetJob(tr("Mod download"), APPLICATION->network()); for (const auto &result: m_modIdResolver->getResults().files) { diff --git a/launcher/modplatform/flame/FileResolvingTask.cpp b/launcher/modplatform/flame/FileResolvingTask.cpp index a790ab9c..c1f56658 100644 --- a/launcher/modplatform/flame/FileResolvingTask.cpp +++ b/launcher/modplatform/flame/FileResolvingTask.cpp @@ -10,7 +10,7 @@ Flame::FileResolvingTask::FileResolvingTask(const shared_qobject_ptr<QNetworkAcc void Flame::FileResolvingTask::executeTask() { setStatus(tr("Resolving mod IDs...")); - setProgress(0, m_toProcess.files.size()); + setProgress(0, 3); m_dljob = new NetJob("Mod id resolver", m_network); result.reset(new QByteArray()); //build json data to send @@ -29,6 +29,7 @@ void Flame::FileResolvingTask::executeTask() void Flame::FileResolvingTask::netJobFinished() { + setProgress(1, 3); int index = 0; // job to check modrinth for blocked projects auto job = new NetJob("Modrinth check", m_network); @@ -63,6 +64,7 @@ void Flame::FileResolvingTask::netJobFinished() } void Flame::FileResolvingTask::modrinthCheckFinished() { + setProgress(2, 3); qDebug() << "Finished with blocked mods : " << blockedProjects.size(); for (auto it = blockedProjects.keyBegin(); it != blockedProjects.keyEnd(); it++) { |