1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-10 00:43:59 +02:00

Fix installing mods from outside of mod view only installing mod

dependencies, and not actual requested mod
This commit is contained in:
Ivan Savenko 2024-12-10 13:59:29 +00:00
parent 4682ae537d
commit d7d60bf61b

View File

@ -620,14 +620,7 @@ void CModListView::on_installButton_clicked()
{
QString modName = ui->allModsView->currentIndex().data(ModRoles::ModNameRole).toString();
for(const auto & name : getModsToInstall(modName))
{
auto mod = modStateModel->getMod(name);
if(mod.isAvailable())
downloadMod(mod);
else if(!modStateModel->isModEnabled(name))
enableModByName(name);
}
doInstallMod(modName);
ui->installButton->setEnabled(false);
}
@ -969,11 +962,13 @@ void CModListView::on_screenshotsList_clicked(const QModelIndex & index)
void CModListView::doInstallMod(const QString & modName)
{
for(const auto & name : modStateModel->getMod(modName).getDependencies())
for(const auto & name : getModsToInstall(modName))
{
auto mod = modStateModel->getMod(name);
if(!mod.isInstalled())
if(mod.isAvailable())
downloadMod(mod);
else if(!modStateModel->isModEnabled(name))
enableModByName(name);
}
}