static List<MultiSelectionItem> GetFilterListItems(Dictionary<Filters, bool> filters) { List<MultiSelectionItem> selectItems = new List<MultiSelectionItem>(); foreach (var filter in filters) { MultiSelectionItem multiSelectItem = new MultiSelectionItem { ItemID = filter.Key.ToString(), ItemTitle = Translation.GetByName(string.Format("Hide{0}", filter.Key)), ItemTitle2 = filter.Value ? Translation.On : Translation.Off, IsToggle = true, Selected = false }; selectItems.Add(multiSelectItem); } return selectItems; }
static List<MultiSelectionItem> GetMultiSelectItems(List<TraktUserList> lists) { List<MultiSelectionItem> result = new List<MultiSelectionItem>(); foreach (var list in lists) { MultiSelectionItem multiSelectionItem = new MultiSelectionItem { ItemID = list.Slug, ItemTitle = list.Name, ItemTitle2 = GetPrivacyLevelTranslation(list.Privacy), Selected = false, Tag = list }; result.Add(multiSelectionItem); } return result; }
/// <summary> /// Displays a menu dialog from list of items /// </summary> public static List <MultiSelectionItem> ShowMultiSelectionDialog(string heading, List <MultiSelectionItem> items) { List <MultiSelectionItem> result = new List <MultiSelectionItem>(); if (items == null) { return(result); } if (GUIGraphicsContext.form.InvokeRequired) { ShowMultiSelectionDialogDelegate d = ShowMultiSelectionDialog; return((List <MultiSelectionItem>)GUIGraphicsContext.form.Invoke(d, heading, items)); } GUIWindow dlgMultiSelectOld = (GUIWindow)GUIWindowManager.GetWindow(2100); GUIDialogMultiSelect dlgMultiSelect = new GUIDialogMultiSelect(); dlgMultiSelect.Init(); GUIWindowManager.Replace(2100, dlgMultiSelect); try { dlgMultiSelect.Reset(); dlgMultiSelect.SetHeading(heading); foreach (MultiSelectionItem multiSelectionItem in items) { GUIListItem item = new GUIListItem(); item.Label = multiSelectionItem.ItemTitle; item.Label2 = multiSelectionItem.ItemTitle2; item.MusicTag = multiSelectionItem.Tag; item.TVTag = multiSelectionItem.IsToggle; item.Selected = multiSelectionItem.Selected; dlgMultiSelect.Add(item); } dlgMultiSelect.DoModal(GUIWindowManager.ActiveWindow); if (dlgMultiSelect.DialogModalResult == ModalResult.OK) { for (int i = 0; i < items.Count; i++) { MultiSelectionItem item = items[i]; MultiSelectionItem newMultiSelectionItem = new MultiSelectionItem(); newMultiSelectionItem.ItemTitle = item.ItemTitle; newMultiSelectionItem.ItemTitle2 = item.ItemTitle2; newMultiSelectionItem.ItemID = item.ItemID; newMultiSelectionItem.Tag = item.Tag; try { newMultiSelectionItem.Selected = dlgMultiSelect.ListItems[i].Selected; } catch { newMultiSelectionItem.Selected = item.Selected; } result.Add(newMultiSelectionItem); } } else { return(null); } return(result); } finally { GUIWindowManager.Replace(2100, dlgMultiSelectOld); } }
static List<MultiSelectionItem> GetMultiSelectItems(List<TraktListDetail> lists) { var result = new List<MultiSelectionItem>(); foreach (var list in lists) { var multiSelectionItem = new MultiSelectionItem { ItemID = list.Ids.Trakt.ToString(), ItemTitle = list.Name, ItemTitle2 = GetPrivacyLevelTranslation(list.Privacy), Selected = false, Tag = list }; result.Add(multiSelectionItem); } return result; }