diff options
author | Trial97 <alexandru.tripon97@gmail.com> | 2023-05-04 23:54:46 +0300 |
---|---|---|
committer | Trial97 <alexandru.tripon97@gmail.com> | 2023-05-04 23:54:46 +0300 |
commit | 107b4702895afdbaf9912006d91c910bb6634361 (patch) | |
tree | 75032b2c93d7e54226485f94affe62c59a090798 /launcher/ui/dialogs/ResourceDownloadDialog.cpp | |
parent | 8b14b946e248c327046777eb2ed494170452f108 (diff) | |
download | PrismLauncher-107b4702895afdbaf9912006d91c910bb6634361.tar.gz PrismLauncher-107b4702895afdbaf9912006d91c910bb6634361.tar.bz2 PrismLauncher-107b4702895afdbaf9912006d91c910bb6634361.zip |
Updated required_by as dependency
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
Diffstat (limited to 'launcher/ui/dialogs/ResourceDownloadDialog.cpp')
-rw-r--r-- | launcher/ui/dialogs/ResourceDownloadDialog.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/launcher/ui/dialogs/ResourceDownloadDialog.cpp b/launcher/ui/dialogs/ResourceDownloadDialog.cpp index c74aaace..b65f2ffd 100644 --- a/launcher/ui/dialogs/ResourceDownloadDialog.cpp +++ b/launcher/ui/dialogs/ResourceDownloadDialog.cpp @@ -125,16 +125,17 @@ void ResourceDownloadDialog::connectButtons() static ModPlatform::ProviderCapabilities ProviderCaps; -QStringList getReqiredBy(QList<ResourceDownloadDialog::DownloadTaskPtr> tasks, QList<QVariant> req_by) +QStringList getReqiredBy(QList<ResourceDownloadDialog::DownloadTaskPtr> tasks, QVariant addonId) { auto req = QStringList(); - for (auto r : req_by) { - for (auto& task : tasks) { - auto selected = task->getPack(); - if (selected.addonId == r) { - req.append(selected.name); - break; - } + for (auto& task : tasks) { + auto deps = task->getVersion().dependencies; + if (auto dep = std::find_if(deps.begin(), deps.end(), + [addonId](const ModPlatform::Dependency& d) { + return d.addonId == addonId && d.type == ModPlatform::DependencyType::REQUIRED; + }); + dep) { + req.append(task->getName()); } } return req; @@ -178,7 +179,7 @@ void ResourceDownloadDialog::confirm() }); for (auto& task : selected) { confirm_dialog->appendResource({ task->getName(), task->getFilename(), task->getCustomPath(), - ProviderCaps.name(task->getProvider()), getReqiredBy(selected, task->getVersion().required_by) }); + ProviderCaps.name(task->getProvider()), getReqiredBy(selected, task->getPack().addonId) }); } if (confirm_dialog->exec()) { |