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); }
public void InitializeFonts() { FavoriteFontList.Clear(); foreach (FontFamily font in Fonts.SystemFontFamilies) { FavoriteFontList.Add(new FavoriteFont() { FontInfo = font }); } }
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(); }
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)); }