示例#1
0
    public static void UninstallSelected(ModInfo mod, bool refresh = true, bool checkForMatchingCRC = false)
    {
        foreach (var file in mod.archiveFiles)
        {
            if (!file.isDir && file.belongingNode.Checked)
            {
                if (File.Exists(file.installedPath))
                {
                    if (checkForMatchingCRC)
                    {
                        uint fileCRC = file.GetInstalledCRC();
                        if (file.crc != fileCRC)
                        {
                            goto finish;
                        }
                    }

                    RecycleManager.DeleteNoWarn(file.installedPath);
                    file.installedCRC = 0;
                }

finish:
                file.installed = false;
            }
        }

        if (refresh)
        {
            MainForm.SaveData();
            MainForm.RefreshListView();
            MainForm.RefreshTreeView();
        }
    }
示例#2
0
    private void deleteModArchiveWithoutUninstallingToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ModInfo selMod = GetSelectedMod();

        if (!selMod)
        {
            return;
        }

        if (File.Exists(selMod.modPath))
        {
            RecycleManager.DeleteNoWarn(selMod.modPath);
        }

        modsData.modInfos.Remove(selMod);

        RefreshListView();
    }