|
@@ -614,7 +614,7 @@ void CModListView::on_installButton_clicked()
|
|
|
for(auto & name : modModel->getRequirements(modName))
|
|
|
{
|
|
|
auto mod = modModel->getMod(name);
|
|
|
- if(!mod.isInstalled())
|
|
|
+ if(mod.isAvailable())
|
|
|
downloadFile(name + ".zip", mod.getValue("download").toString(), name, mbToBytes(mod.getValue("downloadSize").toDouble()));
|
|
|
else if(!mod.isEnabled())
|
|
|
enableModByName(name);
|
|
@@ -887,6 +887,13 @@ void CModListView::installMods(QStringList archives)
|
|
|
auto mod = modModel->getMod(modName);
|
|
|
if(mod.isInstalled() && !mod.getValue("keepDisabled").toBool())
|
|
|
{
|
|
|
+ for (auto const & dependencyName : mod.getDependencies())
|
|
|
+ {
|
|
|
+ auto dependency = modModel->getMod(dependencyName);
|
|
|
+ if(dependency.isDisabled())
|
|
|
+ manager->enableMod(dependencyName);
|
|
|
+ }
|
|
|
+
|
|
|
if(mod.isDisabled() && manager->enableMod(modName))
|
|
|
{
|
|
|
for(QString child : modModel->getChildren(modName))
|