aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/dialogs/ResourceDownloadDialog.cpp
diff options
context:
space:
mode:
authorTrial97 <alexandru.tripon97@gmail.com>2023-05-04 23:54:46 +0300
committerTrial97 <alexandru.tripon97@gmail.com>2023-05-04 23:54:46 +0300
commit107b4702895afdbaf9912006d91c910bb6634361 (patch)
tree75032b2c93d7e54226485f94affe62c59a090798 /launcher/ui/dialogs/ResourceDownloadDialog.cpp
parent8b14b946e248c327046777eb2ed494170452f108 (diff)
downloadPrismLauncher-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.cpp19
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()) {