Exemple #1
0
 private void markFeedRead(FeedSubscription fs)
 {
     fs.MarkAllItemsRead();
     feedSubManager.UpdateNodeFromFeedSubscription(fs);
     if (feedItemsManager.CurrentlyDisplayedFeedSubscription == fs)
     {
         displayFeedItems(fs);
     }
     fs.ResetUpdateTimer();
 }
Exemple #2
0
 private void showFeedSubPropertiesDialog(FeedSubscription fs)
 {
     SubscriptionPropertiesForm spf = new SubscriptionPropertiesForm(fs);
     if (spf.ShowDialog() == DialogResult.OK)
     {
         feedSubManager.SaveFeedSubTree();
         fs.Feed.FeedItems.PurgeOldItems();
         feedSubManager.UpdateNodeFromFeedSubscription(fs);
         //setNodePropertiesFromFeedSubscription(fs, feedSubManager.TreeNodesByTag[fs]);
         if (fs.Feed.ReadSuccess != true)
         {
             fs.BeginReadFeed(new FeedSubscriptionReadDelegate(feedSubReadCallback));
             fs.ResetUpdateTimer();
         }
     }
 }
        public void DisplayFeedItems(FeedSubscription feedSubscription)
        {
            //lock (feedItemsLV)
            //{
            currentlyDisplayedFeedSubscription = feedSubscription;
            itemLinkLBL.Visible = false;
            itemTitleLBL.Visible = false;
            feedSubscription.ResetUpdateTimer();
            feedItemsLV.ListViewItemSorter = currentlyDisplayedFeedSubscription.ColumnSorter;
            showUnreadFirstBTN.Visible = true;
            showUnreadFirstBTN.Checked = currentlyDisplayedFeedSubscription.ColumnSorter.SmartSortEnabled;
            lastDownloadLBL.Visible = true;
            lastDownloadLBL.Text = "Last Downloaded: " + feedSubscription.Feed.LastDownloadAttempt.ToString();
            markAllReadBTN.Visible = true;

            listViewItemsByTag = new Dictionary<FeedItem, ListViewItem>();
            //feedItemsLV.BeginUpdate();
            feedItemsLV.Clear();
            if (feedSubscription.Feed.ReadSuccess || feedSubscription.Feed.ReadException != null)
            {
                BindFeedItemsToListView(feedSubscription.Feed.FeedItems);
                feedItemsLV.Enabled = true;
            }
            else
            {
                if (feedSubscription.Feed.ReadException == null)
                {
                    feedItemsLV.Columns.Add("Title");
                    ListViewItem lvi = new ListViewItem("Loading");
                    feedItemsLV.Items.Add(lvi);
                    feedItemsLV.Enabled = false;
                }
                //else
                //{
                //    feedItemsLV.Columns.Add("Error");
                //    ListViewItem lvi = new ListViewItem(feedSubscription.Feed.ReadException.ToString());
                //    feedItemsLV.Items.Add(lvi);
                //    feedItemsLV.Enabled = false;
                //}

                //feedItemsLV.EndUpdate();
                return;
            }
            feedItemsLV.Sort();

            clearColumnHeaderIcons();
            if (currentlyDisplayedFeedSubscription.ColumnSorter.SortColumn < feedItemsLV.Columns.Count)
            {
                feedItemsLV.Columns[currentlyDisplayedFeedSubscription.ColumnSorter.SortColumn].ImageIndex =
                        getArrowImageIndexForSortColumn(currentlyDisplayedFeedSubscription.ColumnSorter);
            }
            else
            {
                MessageBox.Show("A recoverable error has been encountered: The current sort column index (" +
                    currentlyDisplayedFeedSubscription.ColumnSorter.SortColumn.ToString() + ") is greater than " +
                    "the number of columns in the FeedItems ListView (" + feedItemsLV.Columns.Count.ToString() + ")");
            }
            //feedItemsLV.EndUpdate();
            //}
        }