diff --git a/launcher/modManager/cmodlistview_moc.cpp b/launcher/modManager/cmodlistview_moc.cpp index b162a481e..433a93fa7 100644 --- a/launcher/modManager/cmodlistview_moc.cpp +++ b/launcher/modManager/cmodlistview_moc.cpp @@ -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); } }