Exemplo n.º 1
0
        private void OnFeedChanged(RdrFeed feed)
        {
            EventHandler eh = FeedChanged;

            if (eh != null)
            {
                eh(feed, new EventArgs());
            }
        }
Exemplo n.º 2
0
        private void SetFeedItemsBinding(RdrFeed feed)
        {
            CollectionViewSource sortByDate = new CollectionViewSource
            {
                IsLiveSortingRequested = true,
                Source = feed.Items
            };

            sortByDate.SortDescriptions.Add(new SortDescription("PubDate", ListSortDirection.Descending));

            Binding itemsBinding = new Binding
            {
                Source = sortByDate,
                Mode = BindingMode.OneWay
            };

            BindingOperations.SetBinding(ic_Items, ItemsControl.ItemsSourceProperty, itemsBinding);
        }
Exemplo n.º 3
0
        private async Task RefreshFeedAsync(RdrFeed feed)
        {
            if (feed.Name.Equals("Unread")) return;

            feed.Updating = true;
            Activity = activeTasks.Count() > 0;

            string websiteAsString = await GetFeed(feed.XmlUrl);

            if (String.IsNullOrWhiteSpace(websiteAsString))
            {
                feed.Updating = false;
                Activity = activeTasks.Count() > 0;

                return;
            }

            websiteAsString = websiteAsString.Replace((char)(0x1F), (char)(0x20)); // removing this breaks something

            XDocument x = ParseWebsiteStringIntoXDocument(websiteAsString, feed.XmlUrl);

            if (x == null)
            {
                feed.Updating = false;
                Activity = activeTasks.Count() > 0;

                return;
            }

            feed.Load(x);

            AddUnreadItemsToUnreadCollector(feed.Items);

            feed.Updating = false;
            Activity = activeTasks.Count() > 0;

            _feeds.AlternativeSort(unreadCollector, null);
        }
Exemplo n.º 4
0
        private async Task LoadFeedsAsync()
        {
            IEnumerable<string> feedUris = await ((App)(App.Current)).Repo.LoadAsync();

            List<RdrFeed> feeds = new List<RdrFeed>();

            foreach (string each in feedUris)
            {
                RdrFeed feed = new RdrFeed(new Uri(each));

                feeds.Add(feed);
            }
            
            _feeds.AddMissing(feeds);

            List<RdrFeed> toBeRemoved = (from each in Feeds
                                         where (feeds.Contains<RdrFeed>(each) == false) && (each.Name.Equals("Unread") == false)
                                         select each)
                                         .ToList();

            _feeds.RemoveList(toBeRemoved);
        }
Exemplo n.º 5
0
 public void MoveItemsToView(RdrFeed feed)
 {
     OnFeedChanged(feed);
 }
Exemplo n.º 6
0
 private void GoToFeed(RdrFeed feed)
 {
     Utils.OpenUriInBrowser(feed.XmlUrl);
 }