public void forceSelectedMods(bool suppressDialogs = false)
{
if (lsvMods.SelectedItems.Count > 0)
{
List<Mod> mods = new List<Mod>(Enumerable.Range(0, lsvMods.SelectedItems.Count)
.Select(index => (Mod)lsvMods.SelectedItems[index].Tag));
DialogResult result = DialogResult.No;
if (!suppressDialogs)
result = currentOwner.InvokeMessageBox("Are you sure you want to force install mod(s): " + Environment.NewLine + mods.Select(m => m.Name).Aggregate((i, j) => i + Environment.NewLine + j) + "\nThis will delete backups of selected mods.", "Force mods?", MessageBoxButtons.YesNo);
if (result == DialogResult.Yes || suppressDialogs)
{
refreshModList(true);
foreach (Mod m in mods)
{
tryDelete(Paths.BACKUP + "\\" + m.Name.Replace(".zip", ".7z"));
int index = lsvMods.Items.IndexOfKey(m.Name);
lsvMods.Items[index].Checked = true;
}
inject(false, false, suppressDialogs);
refreshModList(true, txtSearch.Text);
}
}
}