Pārlūkot izejas kodu

Fix installing mods from outside of mod view only installing mod
dependencies, and not actual requested mod

Ivan Savenko 10 mēneši atpakaļ
vecāks
revīzija
d7d60bf61b
1 mainītis faili ar 5 papildinājumiem un 10 dzēšanām
  1. 5 10
      launcher/modManager/cmodlistview_moc.cpp

+ 5 - 10
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);
 	}
 }