Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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
                    });
                }
            });
        }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
        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();
                }
            }
        }
Exemplo n.º 5
0
 public CSharpSyntaxNode Convert(SuperKeyword node)
 {
     return(SyntaxFactory.BaseExpression());
 }