コード例 #1
0
ファイル: Main.cs プロジェクト: Wicloz/Kerbal-Mod-Manager
        private void listViewMods_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            ModInfo mod = modFolders.mods[e.Item.Index];

            if (e.Item.Checked && !mod.isInstalled)
            {
                mod.installQueued = true;
            }
            else
            {
                mod.installQueued = false;
            }

            if (!e.Item.Checked && mod.isInstalled)
            {
                mod.deinstallQueued = true;
            }
            else
            {
                mod.deinstallQueued = false;
            }
        }
コード例 #2
0
ファイル: Main.cs プロジェクト: Wicloz/Kerbal-Mod-Manager
        // Timer
        private void timer_Tick(object sender, EventArgs e)
        {
            bool allWorkDone      = true;
            bool allDownloadDone  = true;
            bool allInstallDone   = true;
            bool allDeinstallDone = true;

            for (int i = 0; i < modFolders.mods.Count; i++)
            {
                ModInfo mod = modFolders.mods[i];

                if (mod.updateState != listViewMods.Items[i].SubItems[5].Text)
                {
                    listViewMods.Items[i].SubItems[5].Text = mod.updateState;
                }

                if (mod.findQueued && !mod.isWorking)
                {
                    LockButtons();
                    mod.FindWebsiteUri();
                }
                else if (mod.checkQueued && !mod.isWorking)
                {
                    LockButtons();
                    mod.CheckForUpdate();
                }
                else if (mod.downloadQueued && !mod.isWorking && !modDownloadBusy)
                {
                    LockButtons();
                    modDownloadBusy = true;
                    mod.UpdateMod();
                }
                else if (mod.deinstallQueued && !mod.isWorking && !modDeinstallBusy)
                {
                    LockButtons();
                    modDeinstallBusy = true;
                    mod.DeinstallMod();
                }
                else if (mod.installQueued && !mod.isWorking && !modInstallBusy)
                {
                    LockButtons();
                    modInstallBusy = true;
                    mod.InstallMod();
                }

                if (mod.downloadBusy)
                {
                    allDownloadDone = false;
                }
                if (mod.installBusy)
                {
                    allInstallDone = false;
                }
                if (mod.deinstallBusy)
                {
                    allDeinstallDone = false;
                }
                if (mod.checkQueued || mod.downloadQueued || mod.findQueued || mod.installQueued || mod.deinstallQueued)
                {
                    allWorkDone = false;
                }

                if (mod.updateList)
                {
                    mod.updateList = false;

                    if (selectedModIndex == i)
                    {
                        SetModFields();
                    }

                    listViewMods.Items[i].SubItems[1].Text = mod.category;
                    listViewMods.Items[i].SubItems[2].Text = mod.uriState;
                    listViewMods.Items[i].SubItems[3].Text = mod.versionLocalNumeric;
                    listViewMods.Items[i].SubItems[4].Text = mod.versionLatestNumeric;

                    listViewMods.Items[i].SubItems[6].Text  = mod.website1;
                    listViewMods.Items[i].SubItems[7].Text  = mod.website2;
                    listViewMods.Items[i].SubItems[8].Text  = mod.website3;
                    listViewMods.Items[i].SubItems[9].Text  = mod.website4;
                    listViewMods.Items[i].SubItems[10].Text = mod.website5;
                }
            }

            if (allDownloadDone)
            {
                modDownloadBusy = false;
            }
            if (allInstallDone)
            {
                modInstallBusy = false;
            }
            if (allDeinstallDone)
            {
                modDeinstallBusy = false;
            }
            if (allWorkDone && action)
            {
                ReloadModlistview();
                UnlockButtons();
            }
        }