예제 #1
0
        public void GenerateFontsToSerialize(string filePath)
        {
            List <FavoriteFont> fontsToSerialize;

            fontsToSerialize = FavoriteFontList.Where(x => x.IsFavorite || !string.IsNullOrWhiteSpace(x.Comment)).ToList();

            string json = JsonConvert.SerializeObject(fontsToSerialize, Formatting.Indented);

            File.WriteAllText(filePath, json);
        }
예제 #2
0
 public void InitializeFonts()
 {
     FavoriteFontList.Clear();
     foreach (FontFamily font in Fonts.SystemFontFamilies)
     {
         FavoriteFontList.Add(new FavoriteFont()
         {
             FontInfo = font
         });
     }
 }
예제 #3
0
        public void LoadSerializedFonts(string filePath)
        {
            string json = File.ReadAllText(filePath);

            List <FavoriteFont> deserializedFonts = JsonConvert.DeserializeObject <List <FavoriteFont> >(json);

            InitializeFonts();

            foreach (FavoriteFont fontInformation in deserializedFonts)
            {
                FavoriteFont fontToUpdate = FavoriteFontList.First(x => x.FontName == fontInformation.FontName);
                fontToUpdate.Comment    = fontInformation.Comment;
                fontToUpdate.IsFavorite = fontInformation.IsFavorite;
            }

            FilterFonts();
        }
예제 #4
0
        public void FilterFonts()
        {
            List <FavoriteFont> filtered = FavoriteFontList.Where(x => x.FontInfo.Source.ToLower().Contains(SearchQuery.ToLower())).ToList();

            if (FilterFavorites)
            {
                filtered = filtered.Where(x => x.IsFavorite).ToList();
            }


            if (FilterComments)
            {
                filtered = filtered.Where(x => !string.IsNullOrWhiteSpace(x.Comment)).ToList();
            }

            DisplayFonts.Clear();

            filtered.ForEach(x => DisplayFonts.Add(x));
        }