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);
        }
예제 #2
0
        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;
 }