Browse Source

Merge pull request #4107 from IvanSavenko/mod_install_fix

Mod install fixes
Ivan Savenko 1 year ago
parent
commit
f105a66736
1 changed files with 8 additions and 1 deletions
  1. 8 1
      launcher/modManager/cmodlistview_moc.cpp

+ 8 - 1
launcher/modManager/cmodlistview_moc.cpp

@@ -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))