private void UpdateProvidedModsDialog(TooManyModsProvideKraken tooManyProvides, TaskCompletionSource <CkanModule> task) { toomany_source = task; ChooseProvidedModsLabel.Text = String.Format( "Module {0} is provided by more than one available module, please choose one of the following mods:", tooManyProvides.requested); ChooseProvidedModsListView.Items.Clear(); ChooseProvidedModsListView.ItemChecked += ChooseProvidedModsListView_ItemChecked; foreach (CkanModule module in tooManyProvides.modules) { ListViewItem item = new ListViewItem() { Tag = module, Checked = false, Text = Manager.Cache.IsMaybeCachedZip(module) ? $"{module.name} {module.version} (cached)" : $"{module.name} {module.version} ({module.download.Host ?? ""}, {CkanModule.FmtSize(module.download_size)})" }; ListViewItem.ListViewSubItem description = new ListViewItem.ListViewSubItem() { Text = module.@abstract }; item.SubItems.Add(description); ChooseProvidedModsListView.Items.Add(item); } ChooseProvidedModsListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); ChooseProvidedModsContinueButton.Enabled = false; }
private void UpdateProvidedModsDialog(TooManyModsProvideKraken tooManyProvides, TaskCompletionSource <CkanModule> task) { toomany_source = task; ChooseProvidedModsLabel.Text = String.Format( Properties.Resources.MainInstallProvidedBy, tooManyProvides.requested ); ChooseProvidedModsListView.Items.Clear(); ChooseProvidedModsListView.ItemChecked += ChooseProvidedModsListView_ItemChecked; foreach (CkanModule module in tooManyProvides.modules) { ListViewItem item = new ListViewItem() { Tag = module, Checked = false, Text = Manager.Cache.IsMaybeCachedZip(module) ? string.Format(Properties.Resources.MainChangesetCached, module.name, module.version) : string.Format(Properties.Resources.MainChangesetHostSize, module.name, module.version, module.download.Host ?? "", CkanModule.FmtSize(module.download_size)) }; ListViewItem.ListViewSubItem description = new ListViewItem.ListViewSubItem() { Text = module.@abstract }; item.SubItems.Add(description); ChooseProvidedModsListView.Items.Add(item); } ChooseProvidedModsListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); ChooseProvidedModsContinueButton.Enabled = false; }
private void UpdateProvidedModsDialog(TooManyModsProvideKraken tooManyProvides) { ChooseProvidedModsLabel.Text = String.Format( "Module {0} is provided by more than one available module, please choose one of the following mods:", tooManyProvides.requested); ChooseProvidedModsListView.Items.Clear(); ChooseProvidedModsListView.ItemChecked += ChooseProvidedModsListView_ItemChecked; foreach (CkanModule module in tooManyProvides.modules) { ListViewItem item = new ListViewItem { Tag = module, Checked = true, Text = module.name }; ListViewItem.ListViewSubItem description = new ListViewItem.ListViewSubItem { Text = module.@abstract }; item.SubItems.Add(description); ChooseProvidedModsListView.Items.Add(item); } }
public async Task <CkanModule> TooManyModsProvide(TooManyModsProvideKraken kraken) { // We want LMtHIT to be the last user selection. If we alter this handling a too many provides // it needs to be reset so a potential second too many provides doesn't use the wrong mod. GUIMod mod; var module = await TooManyModsProvideCore(kraken); if (module == null && last_mod_to_have_install_toggled.TryPeek(out mod)) { MarkModForInstall(mod.Identifier, true); } Util.Invoke(this, () => { tabController.SetTabLock(false); tabController.HideTab("ChooseProvidedModsTabPage"); tabController.ShowTab("ManageModsTabPage"); }); if (module != null) { MarkModForInstall(module.identifier); } last_mod_to_have_install_toggled.TryPop(out mod); return(module); }
private CkanModule TooManyModsProvideCore(TooManyModsProvideKraken kraken) { tabController.ShowTab("ChooseProvidedModsTabPage", 3); ChooseProvidedMods.LoadProviders(kraken.requested, kraken.modules, Manager.Cache); tabController.SetTabLock(true); return(ChooseProvidedMods.Wait()); }
public async Task<CfanModule> TooManyModsProvide(TooManyModsProvideKraken kraken) { //We want LMtHIT to be the last user selection. If we alter this handling a too many provides // it needs to be reset so a potential second too many provides doesn't use the wrong mod. GUIMod mod; TaskCompletionSource<CfanModule> task = new TaskCompletionSource<CfanModule>(); Util.Invoke(this, () => { UpdateProvidedModsDialog(kraken, task); m_TabController.ShowTab("ChooseProvidedModsTabPage", 3); m_TabController.SetTabLock(true); }); var module = await task.Task; if (module == null) { last_mod_to_have_install_toggled.TryPeek(out mod); MarkModForInstall(mod.Identifier,uncheck:true); } Util.Invoke(this, () => { m_TabController.SetTabLock(false); m_TabController.HideTab("ChooseProvidedModsTabPage"); m_TabController.ShowTab("ManageModsTabPage"); }); if(module!=null) MarkModForInstall(module.identifier); last_mod_to_have_install_toggled.TryPop(out mod); return module; }
public async Task<CkanModule> TooManyModsProvide(TooManyModsProvideKraken kraken) { //We want LMtHIT to be the last user selection. If we alter this handling a too many provides // it needs to be reset so a potential second too many provides doesn't use the wrong mod. GUIMod mod; TaskCompletionSource<CkanModule> task = new TaskCompletionSource<CkanModule>(); Util.Invoke(this, () => { UpdateProvidedModsDialog(kraken, task); m_TabController.ShowTab("ChooseProvidedModsTabPage", 3); m_TabController.SetTabLock(true); }); var module = await task.Task; if (module == null) { last_mod_to_have_install_toggled.TryPeek(out mod); MarkModForInstall(mod.Identifier,uninstall:true); } Util.Invoke(this, () => { m_TabController.SetTabLock(false); m_TabController.HideTab("ChooseProvidedModsTabPage"); m_TabController.ShowTab("ManageModsTabPage"); }); if(module!=null) MarkModForInstall(module.identifier); last_mod_to_have_install_toggled.TryPop(out mod); return module; }
private void UpdateProvidedModsDialog(TooManyModsProvideKraken tooManyProvides, TaskCompletionSource <CfanModule> task) { toomany_source = task; ChooseProvidedModsLabel.Text = String.Format( "Module {0} is provided by more than one available module, please choose one of the following mods:", tooManyProvides.requested); ChooseProvidedModsListView.Items.Clear(); ChooseProvidedModsListView.ItemChecked += ChooseProvidedModsListView_ItemChecked; foreach (CfanModule module in tooManyProvides.modules) { ListViewItem item = new ListViewItem { Tag = module, Checked = false, Text = module.title }; ListViewItem.ListViewSubItem description = new ListViewItem.ListViewSubItem { Text = module.@abstract }; item.SubItems.Add(description); ChooseProvidedModsListView.Items.Add(item); } ChooseProvidedModsListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); ChooseProvidedModsContinueButton.Enabled = false; }
private async Task <CkanModule> TooManyModsProvideCore(TooManyModsProvideKraken kraken) { TaskCompletionSource <CkanModule> task = new TaskCompletionSource <CkanModule>(); Util.Invoke(this, () => { UpdateProvidedModsDialog(kraken, task); tabController.ShowTab("ChooseProvidedModsTabPage", 3); tabController.SetTabLock(true); }); return(await task.Task); }
private void UpdateProvidedModsDialog(TooManyModsProvideKraken tooManyProvides, TaskCompletionSource<CkanModule> task) { toomany_source = task; ChooseProvidedModsLabel.Text = String.Format( "Module {0} is provided by more than one available module, please choose one of the following mods:", tooManyProvides.requested); ChooseProvidedModsListView.Items.Clear(); ChooseProvidedModsListView.ItemChecked += ChooseProvidedModsListView_ItemChecked; foreach (Module module in tooManyProvides.modules) { ListViewItem item = new ListViewItem {Tag = module, Checked = false, Text = module.name}; ListViewItem.ListViewSubItem description = new ListViewItem.ListViewSubItem {Text = module.@abstract}; item.SubItems.Add(description); ChooseProvidedModsListView.Items.Add(item); } ChooseProvidedModsListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); ChooseProvidedModsContinueButton.Enabled = false; }