Updated required_by as dependency
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
@ -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()) {
|
||||
|
@ -62,12 +62,17 @@ void ReviewMessageBox::appendResource(ResourceInformation&& info)
|
||||
|
||||
if (!info.required_by.isEmpty()) {
|
||||
auto requiredByItem = new QTreeWidgetItem(itemTop);
|
||||
QString req;
|
||||
if (info.required_by.length() == 1)
|
||||
req = info.required_by.back();
|
||||
else
|
||||
req = QString("[%1]").arg(info.required_by.join(", "));
|
||||
requiredByItem->setText(0, tr("Required by: %1").arg(req));
|
||||
if (info.required_by.length() == 1) {
|
||||
requiredByItem->setText(0, tr("Required by: %1").arg(info.required_by.back()));
|
||||
} else {
|
||||
requiredByItem->setText(0, tr("Required by:"));
|
||||
auto i = 0;
|
||||
for (auto req : info.required_by) {
|
||||
auto reqItem = new QTreeWidgetItem(requiredByItem);
|
||||
reqItem->setText(0, req);
|
||||
reqItem->insertChildren(i++, { reqItem });
|
||||
}
|
||||
}
|
||||
|
||||
itemTop->insertChildren(childIndx++, { requiredByItem });
|
||||
}
|
||||
|
Reference in New Issue
Block a user