public DeckConfigNameViewModel(Collection collection, long selectedDeckId) { this.Collection = collection; selectedDeck = collection.Deck.Get(selectedDeckId); var usedConfigId = selectedDeck.GetNamedNumber("conf"); var allConfig = collection.Deck.AllConf(); List <DeckConfigName> list = new List <DeckConfigName>(); foreach (var config in allConfig) { DeckConfigName configName = new DeckConfigName(); configName.Id = (long)config.GetNamedNumber("id"); configName.Name = config.GetNamedString("name"); configName.IsUsedBySelectedDeck = (usedConfigId == configName.Id); if (configName.Id == (int)ConfigPresets.Default) { DefaultConfigViewSetup(configName); } else if (configName.Id >= (int)ConfigPresets.TagOnLeech && configName.Id <= (int)ConfigPresets.DueOnly) { PresetConfigsViewSetup(configName); } else { UserCreateConfigsViewSetup(configName); } list.Add(configName); } SortConfigsByID(list); Configs = new ObservableCollection <DeckConfigName>(list); }
private void ReorderCardsIfRandom(DeckConfigName config) { var order = (int)collection.Deck.GetConf(config.Id).GetNamedObject("new").GetNamedNumber("order"); if (order == (int)NewCardInsertOrder.RANDOM) { var deckIds = collection.Deck.DeckIdsForConf(config.Id); foreach (var id in deckIds) { collection.Sched.OrderCards(id); } } }
private static void PresetConfigsViewSetup(DeckConfigName configName) { configName.EditVisibility = Visibility.Collapsed; configName.HelpTextVisibility = Visibility.Visible; ConfigPresets type = (ConfigPresets)configName.Id; if (type == ConfigPresets.TagOnLeech) { configName.HelpText = UIConst.HELP_TAG_ONLY_LEECH; } else if (type == ConfigPresets.ShortInterval) { configName.HelpText = UIConst.HELP_SHORT_INTERVAL; } else if (type == ConfigPresets.LongInterval) { configName.HelpText = UIConst.HELP_LONG_INTERVAL; } else { configName.HelpText = UIConst.HELP_DUE_ONLY; } }
private static void DefaultConfigViewSetup(DeckConfigName configName) { configName.HelpTextVisibility = Visibility.Collapsed; configName.EditVisibility = Visibility.Collapsed; }
private static void UserCreateConfigsViewSetup(DeckConfigName configName) { configName.EditVisibility = Visibility.Visible; configName.HelpTextVisibility = Visibility.Collapsed; }