private void AddFavoritesContextMenu_Click(object sender, RoutedEventArgs e) { MenuItem cmi = sender as MenuItem; dynamic item = cmi.DataContext; string title = item.Title; if (metaData.tags.ContainsKey(title)) { var tids = metaData.tags[title]; metaData.tags.Remove(title); SuperKeyword superKeyword = new SuperKeyword { simple = true, keyword = title, authors = new List <string> { item.Author }, tids = tids, read = -1, groups = new List <List <string> >(), groupedTids = tids.ConvertAll(x => new Group { exampleId = x, tooltips = "" }) }; metaData.superKeywords.Add(superKeyword); MetaDataLoader.Save(this.metaData); currentId = -1; currentState = AppState.TOPICS; ReloadTopics(); UpdateView(); } }
private void ReloadArticles() { dynamic item = topics[currentId]; List <Group> list; int read; if (item.Favorite) { SuperKeyword sk = metaData.superKeywords[item.FavoriteId]; list = sk.groupedTids; read = sk.read; } else { string title = item.Title; list = metaData.tags[title].ConvertAll(x => new Group { exampleId = x, tooltips = "Not Download." }); read = list.Count; } articles.Clear(); list.ForEach(x => { int i = list.Count - list.IndexOf(x) - 1; BBSThread t = metaData.threads[x.exampleId]; if (searchingKeyword == null || t.title.Contains(searchingKeyword)) { string siteName = Constants.SITE_DEF[t.siteId].siteName; string fPath = Constants.LOCAL_PATH + t.siteId + "/" + t.threadId + ".txt"; bool downloaded = File.Exists(fPath); articles.Add(new { Title = t.title, Author = t.author, Time = t.postTime, Url = t.link, ThreadId = t.threadId, Source = siteName, SiteId = t.siteId, Favorite = false, Simple = true, FavoriteId = -1, IsFolder = false, Downloaded = downloaded, Read = i <= read, Tooltip = x.tooltips }); } }); }
private void RemoveFavoritesContextMenu_Click(object sender, RoutedEventArgs e) { MenuItem cmi = sender as MenuItem; dynamic item = cmi.DataContext; string title = item.Title; int FavoriteId = item.FavoriteId; SuperKeyword superKeyword = metaData.superKeywords[FavoriteId]; if (superKeyword.simple) { var tids = superKeyword.tids; var keyword = superKeyword.keyword; metaData.superKeywords.Remove(superKeyword); metaData.tags[keyword] = tids; MetaDataLoader.Save(this.metaData); currentId = -1; currentState = AppState.TOPICS; ReloadTopics(); UpdateView(); } }
private void SetAdvancedKeywordContextMenu_Click(object sender, RoutedEventArgs e) { MenuItem cmi = sender as MenuItem; dynamic item = cmi.DataContext; string title = item.Title; string author = item.Author; var dialog = new AdvancedKeywordDialog { Owner = this, Keyword = title, DefaultAuthor = author }; var dr = dialog.ShowDialog() ?? false; if (dr) { SuperKeyword superKeyword = new SuperKeyword { simple = false, keyword = dialog.Keyword, authors = new List <string>(dialog.AuthorList), tids = new List <int>(), read = -1, groups = new List <List <string> >(), groupedTids = new List <Group>() }; if (!metaData.superKeywords.Contains(superKeyword)) { metaData.superKeywords.Add(superKeyword); MetaDataLoader.Save(this.metaData); currentState = AppState.TOPICS; ReloadTopics(); UpdateView(); } } }
public CSharpSyntaxNode Convert(SuperKeyword node) { return(SyntaxFactory.BaseExpression()); }