Пример #1
0
        private void categoryCombo_SelectedIndexChanged(object sender, EventArgs e)
        {
            string        selectedCat   = categoryCombo.GetItemText(this.categoryCombo.SelectedItem);
            List <string> filtredTitles = Feeds.fList(selectedCat);

            listBox1.DataSource = filtredTitles;
        }
Пример #2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            Categories.GetCategories();
            List <string> titles = Feeds.getPodcastsFromXML();

            listBox1.DataSource = titles;
        }
Пример #3
0
 protected override async Task CloseAsync()
 {
     ValidationTimer.Stop();
     Feeds.CollectionChanged -= OnFeedsCollectionChanged;
     ValidationTimer.Elapsed -= OnValidationTimerElapsed;
     Feeds.ForEach(f => UnsubscribeFromFeedPropertyChanged(f));
 }
Пример #4
0
 public FeedsSearchingPage()
 {
     Feeds.Add(new FeedViewModel("请输入要你需要订阅的网站", "", "", "NoPic"));
     AddPaperPage.isFeedsSearchingPageActive = true;
     AddPaperPage.isThereFeed = false;
     this.InitializeComponent();
 }
Пример #5
0
        public FeedsViewModel()
        {
            ResourceDictionary res = Application.Current.Resources;

            this.AllRssTitle = res["AllRss_Title"] as String;
            var rssEnabled = res["AllRss_Enabled"];

            this.AreAllRssEnabled = (rssEnabled is Boolean) && (Boolean)rssEnabled == true;

            String allRssGroup = res["AllRss_Group"] as String;

            var collection = res["RssFeeds"];

            if (collection is RssCollection)
            {
                this.Feeds = collection as RssCollection;
                if (this.AreAllRssEnabled)
                {
                    Feeds.Insert(0, new RssViewModelInfo()
                    {
                        Title      = allRssGroup,
                        _viewModel = null,
                        ViewModel  = getAllRssViewModel
                    });
                }
            }
            else if (collection is GroupRssCollection)
            {
                this.RssCollections = collection as GroupRssCollection;
            }
        }
Пример #6
0
 public void Save()
 {
     DataService.SaveFilters(Filters.ToList());
     DataService.SaveFeeds(Feeds.ToList());
     DataService.SaveDownloadedTorrents(DownloadedTorrents.ToList());
     DataService.SaveState(State);
 }
Пример #7
0
 private void LoadStateFromXML(string sFile)
 {
     try
     {
         XElement xDocs = XElement.Load(sFile);
         oFeeds = new Feeds(xDocs.Descendants("Feeds").First());
         foreach (Feed oFeed in oFeeds)
         {
             lvwFeeds.Items.Add(new ListViewItem(new[] { oFeed.Address }));
         }
         oDocs = new Documents(xDocs.Descendants("Documents").First());
         foreach (Document oDoc in oDocs.OrderBy(x => x.Title))
         {
             lvwDownloadLinks.Items.Add(new ListViewItem(new[] { oDoc.Title, oDoc.Status.ToString() }));
         }
         oReps = new Replaces(xDocs.Descendants("Replaces").First());
         ListViewItem oItem;
         foreach (Replace oRep in oReps.OrderBy(x => x.ThisValue))
         {
             oItem     = new ListViewItem(new[] { oRep.ThisValue, oRep.WithThis });
             oItem.Tag = oRep;
             lswReplaces.Items.Add(oItem);
         }
     }
     catch (Exception err)
     {
         MessageBox.Show(err.Message + Environment.NewLine);
         oDocs = new Documents();
     }
 }
Пример #8
0
 public void ItemPaging(NewsFeed feed)
 {
     if (feed == Feeds.Last())
     {
         IsLoadMoreNeed = true;
     }
 }
Пример #9
0
 public void AddCurrentFeed()
 {
     Feeds.Add(CurrentFeed);
     IsFeedAddedMessageShowing = true;
     DoAfterDelay(5000, () => IsFeedAddedMessageShowing = false);
     var withoutAwait = SaveFeedsAsync();
 }
Пример #10
0
 public void AddNewFeed()
 {
     Feeds.Add(NewFeedBookmark);
     NewFeedBookmark = new FeedBookmarkItem();
     HasChanges      = true;
     Feeds.FireChange();
 }
Пример #11
0
        private async Task RefreshItems(bool Confirm)
        {
            try
            {
                int MsgBoxResult = 1;
                if (Confirm)
                {
                    MsgBoxResult = await new MessagePopup().OpenPopup("Refresh news items", "Do you want to refresh all the news items and scroll to the top?", "Refresh news items", "", "", "", "", true);
                }
                if (MsgBoxResult == 1)
                {
                    //Reset the online status
                    OnlineUpdateFeeds = true;
                    OnlineUpdateNews  = true;
                    ApiMessageError   = string.Empty;

                    //Load all the items
                    await LoadItems(true, false);
                }
                else if (!List_NewsItems.Any() && !(bool)AppVariables.ApplicationSettings["DisplayReadMarkedItems"])
                {
                    Feeds TempFeed = new Feeds();
                    TempFeed.feed_id = "1";

                    //Change the selection feed
                    ChangeSelectionFeed(TempFeed, false);

                    //Load all the items
                    await LoadItems(false, true);
                }
            }
            catch { }
        }
Пример #12
0
        static void Main(string[] args)
        {
            //RssFeed feed;

            //feed = new RssFeed("https://www.heise.de/rss/heise-atom.xml", 7);
            //feed.Refresh();
            //feed.MarkAllItemsAsRead();
            //Print(feed.Items);

            //feed = new RssFeed("https://rss.golem.de/rss.php?feed=ATOM1.0", 7);
            //feed.Refresh();
            //Print(feed.Items);

            Feeds feeds = new Feeds();

            feeds.Add("https://www.heise.de/rss/heise-atom.xml");
            feeds.Add("https://rss.golem.de/rss.php?feed=ATOM1.0");

            foreach (RssFeed f in feeds.FeedList)
            {
                f.Refresh();
                Print(f.Items);
            }

            Console.ReadLine();
        }
Пример #13
0
        //Cleanup page resources
        async Task CleanupPageResources()
        {
            try
            {
                System.Diagnostics.Debug.WriteLine("Clearing page resources...");

                DisablePageEvents();
                vCurrentLoadingFeedFolder = null;

                ListView_Items.ItemContainerStyle = null;
                ListView_Items.ItemsSource        = null;
                ListView_Items.ItemsPanel         = null;
                ListView_Items.Items.Clear();

                combobox_FeedSelection.ItemContainerStyle = null;
                combobox_FeedSelection.ItemsSource        = null;
                combobox_FeedSelection.ItemsPanel         = null;
                combobox_FeedSelection.Items.Clear();

                await ClearObservableCollection(List_Feeds);
                await ClearObservableCollection(List_FeedSelect);
                await ClearObservableCollection(List_NewsItems);
                await ClearObservableCollection(List_SearchItems);
                await ClearObservableCollection(List_StarredItems);
            }
            catch { }
        }
Пример #14
0
        //Set the feed icon
        private async void btn_SetIcon_Clicked(object sender, EventArgs e)
        {
            try
            {
                Feeds SelectedItem = (Feeds)listview_Items.SelectedItem;
                if (SelectedItem != null)
                {
                    List <string> messageAnswers = new List <string>();
                    messageAnswers.Add("Set custom icon");
                    messageAnswers.Add("Reset the icon");
                    messageAnswers.Add("Cancel");

                    string messageResult = await MessagePopup.Popup("Change the feed icon", "Would you like to set a custom feed icon for " + SelectedItem.feed_title + "?", messageAnswers);

                    if (messageResult == "Set custom icon")
                    {
                        Debug.WriteLine("Changing icon for feed: " + SelectedItem.feed_id + " / " + SelectedItem.feed_title);

                        PickOptions pickOptions = new PickOptions();
                        pickOptions.FileTypes = FilePickerFileType.Png;

                        FileResult pickResult = await FilePicker.PickAsync(pickOptions);

                        if (pickResult != null)
                        {
                            //Load feed icon
                            Stream imageStream = await pickResult.OpenReadAsync();

                            //Update feed icon
                            if (imageStream.CanSeek)
                            {
                                imageStream.Position = 0;
                            }
                            SelectedItem.feed_icon = ImageSource.FromStream(() => imageStream);

                            //Save feed icon
                            AVFiles.File_SaveStream(SelectedItem.feed_id + ".png", imageStream, true, true);
                        }
                    }
                    else if (messageResult == "Reset the icon")
                    {
                        //Delete the feed icon
                        AVFiles.File_Delete(SelectedItem.feed_id + ".png", true);

                        //Load default feed icon
                        SelectedItem.feed_icon = ImageSource.FromResource("NewsScroll.Assets.iconRSS-Dark.png");

                        //Reset the online status
                        OnlineUpdateFeeds = true;
                        ApiMessageError   = string.Empty;

                        List <string> messageAnswersReset = new List <string>();
                        messageAnswersReset.Add("Ok");

                        await MessagePopup.Popup("Feed icon reset", "The feed icon has been reset and will be refreshed on the next online feed update, you can refresh the feeds by clicking on the refresh icon above.", messageAnswersReset);
                    }
                }
            }
            catch { }
        }
        /// <summary>
        /// Writes the configuration to loader config and saves the config.
        /// </summary>
        public void Save()
        {
            _config.NuGetFeeds = Feeds.Where(x => !string.IsNullOrEmpty(x.URL)).ToArray();
            IConfig <LoaderConfig> .ToPath(_config, Paths.LoaderConfigPath);

            IoC.Get <AggregateNugetRepository>().FromFeeds(Feeds);
        }
Пример #16
0
        private void ChangeBtn_Click(object sender, EventArgs e)
        {
            string newCat = changeCatCombo.GetItemText(this.changeCatCombo.SelectedItem);
            string feed   = PickFeedCombo.GetItemText(this.PickFeedCombo.SelectedItem);
            string newInt = intervalCombo.GetItemText(this.intervalCombo.SelectedItem);

            if (Validation.textEmpty(feed))
            {
                MessageBox.Show("Du måste välja en feed att ändra!");
            }
            else
            {
                if (Validation.textEmpty(newCat))
                {
                    MessageBox.Show("Du måste välja en kategori!");
                }
                else
                {
                    if (Validation.textEmpty(newInt))
                    {
                        MessageBox.Show("Du måste välja en intervall");
                    }
                    else
                    {
                        Feeds.UpdateXml(feed, newCat, newInt);
                        MessageBox.Show("Feeden: " + feed + " har ändrats!");
                        Close();
                    }
                }
            }
        }
Пример #17
0
        /// <summary>
        ///     Follows the feed to find all versions of package matching 'name'
        /// </summary>
        /// <param name="name">the name or partial name of a package to find</param>
        /// <returns>A set of packages</returns>
        internal IEnumerable <Package> Query(string name)
        {
            if (!IsValid || string.IsNullOrEmpty(name))
            {
                return(Enumerable.Empty <Package>());
            }

            // first get all the packages that are in this feed with a matched name
            var packages = PackagesFilteredByName(name).Select(packageGroup => new Package(_request, packageGroup)).Where(package => package.IsValid && package.Name.EqualsIgnoreCase(name));

            // then follow any supplemental links to more declared latest packages.
            var morePackages = More.SelectMany(nextGroup => new Feed(_request, nextGroup).Query(name));

            // let's search child feeds that declare that the name of the package in the feed matches the given name
            var packagesByName = Feeds.Where(feedGroup => feedGroup.Any(link => name.EqualsIgnoreCase(link.Attributes[Iso19770_2.Discovery.Name]))).SelectMany(feed => new Feed(_request, feed).Query(name));

            // and search child feeds that the name would be in their range.
            var packagesByNameRange = Feeds.Where(feedGroup => feedGroup.Any(link => {
                var minName = link.Attributes[Iso19770_2.Discovery.MinimumName];
                var maxName = link.Attributes[Iso19770_2.Discovery.MaximumName];
                if (string.IsNullOrEmpty(minName) || string.IsNullOrEmpty(maxName))
                {
                    return(false);
                }
                return(String.Compare(minName, name, StringComparison.OrdinalIgnoreCase) <= 0 && String.Compare(name, maxName, StringComparison.OrdinalIgnoreCase) <= 0);
            })).SelectMany(feed => new Feed(_request, feed).Query(name));

            return(packages.Concat(morePackages).Concat(packagesByName).Concat(packagesByNameRange));
        }
Пример #18
0
        private async Task Filter()
        {
            TokenSource.Cancel();

            var query = from feed in await RSSDataService.GetFeedsDataAsync(0) select feed;

            if (FilterSelectedSource != null)
            {
                query = query.Where(x => x.PostSource.Id == FilterSelectedSource.Id);
            }
            if (!string.IsNullOrWhiteSpace(FilterTitle))
            {
                query = query.Where(x => x.PostTitle.ToLower().Contains(FilterTitle.ToLower()));
            }
            if (!string.IsNullOrWhiteSpace(FilterCreator))
            {
                query = query.Where(x => x.Authors.Any(x => x.Email.ToLower() == FilterCreator.ToLower()));
            }
            if (FilterIsUnreadOnly)
            {
                query = query.Where(x => x.IsRead == false);
            }

            Feeds.Clear();
            foreach (var item in query)
            {
                Feeds.Add(item);
            }
        }
        private async void RefreshMethod()
        {
            #region Checking Network

            if (false == Utility.Instance.IsNetworkAvailable)
            {
                ToasteIndicator.Instance.Show(String.Empty, "网络连接已中断", null, 3);

                return;
            }

            #endregion

            FeedsLoading = true;

            var result = await _feed.GetFeedsAsync(LoginUser.Current.Token, "/feeds?excerpt_len=75", true);

            if (result.Result == null)
            {
                ToasteIndicator.Instance.Show(String.Empty, result.Error.Message, null, 3);
                return;
            }

            var previousUri = new Uri(result.Result.Paging.Previous);

            var feedsAll = (from object feed in Feeds select feed as Feed).ToList();

            var newFeeds = new List <Feed>();

            var query = from i in result.Result.GetItems()
                        let asFeed = i as Feed
                                     where feedsAll.All(o => asFeed != null && o.Target.Url != asFeed.Target.Url)
                                     select asFeed;

            newFeeds.AddRange(query);

            if (newFeeds.Count == 0)
            {
                FeedsLoading = false;

                ToasteIndicator.Instance.Show(String.Empty, "没有更新的内容了...", null, 3);

                return;
            }

            ToasteIndicator.Instance.Show(String.Empty, String.Format("获得了 {0} 条动态...", newFeeds.Count), null, 3);

            FeedsLoading = false;

            if (newFeeds.Count == 20)
            {
                Feeds = new IncrementalLoading <Feed>(GetMoreFeeds, "/feeds?excerpt_len=75", Offset, false);
                return;
            }

            for (var i = 0; i < newFeeds.Count; i++)
            {
                Feeds.Insert(i, newFeeds[i]);
            }
        }
Пример #20
0
        public void EnterModelContext(NavigationContext oldContext, NavigationContext newContext)
        {
            // Load settings
            NewsSettings settings = ServiceRegistration.Get <ISettingsManager>().Load <NewsSettings>();

            HasChanges      = false;
            NewFeedBookmark = new FeedBookmarkItem();
            Feeds.Clear();
            lock (settings.FeedsList)
            {
                if (settings.FeedsList.Count == 0)
                {
                    foreach (var feed in NewsSettings.GetDefaultRegionalFeeds())
                    {
                        Feeds.Add(new FeedBookmarkItem {
                            Name = feed.Name, Url = feed.Url
                        });
                    }
                }
                else
                {
                    foreach (var feed in settings.FeedsList)
                    {
                        Feeds.Add(new FeedBookmarkItem {
                            Name = feed.Name, Url = feed.Url
                        });
                    }
                }
            }
        }
Пример #21
0
 public RssPage()
 {
     System.Web.HttpContext.Current.Response.ContentType = "application/xml";
     if (config.Rssstatus == 1)
     {
         int forumid = DNTRequest.GetInt("forumid", -1);
         if (forumid == -1)
         {
             System.Web.HttpContext.Current.Response.Write(Feeds.GetRssXml(config.Rssttl));
             System.Web.HttpContext.Current.Response.End();
             return;
         }
         else
         {
             ForumInfo forum = Forums.GetForumInfo(forumid);
             if (forum != null)
             {
                 if (forum.Allowrss == 1)
                 {
                     System.Web.HttpContext.Current.Response.Write(Feeds.GetForumRssXml(config.Rssttl, forumid));
                     System.Web.HttpContext.Current.Response.End();
                     return;
                 }
             }
         }
     }
     System.Web.HttpContext.Current.Response.Write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
     System.Web.HttpContext.Current.Response.Write("<Rss>Error</Rss>\r\n");
     System.Web.HttpContext.Current.Response.End();
 }
Пример #22
0
        public MainViewModel()
        {
            TorrentDropDirectory = DROP_FOLDER;

            if (!Directory.Exists(Path.GetDirectoryName(TorrentDropDirectory)))
            {
                Directory.CreateDirectory(Path.GetDirectoryName(TorrentDropDirectory));
            }

            Feed tvFeed = new Feed()
            {
                Title = "TV Shows", URL = "https://kickass.to/tv/?rss=1"
            };

            Feeds.Add(tvFeed);
            Feeds.Add(new Feed()
            {
                Title = "Movies", URL = "https://kickass.to/movies/?rss=1"
            });
            Feeds.Add(new Feed()
            {
                Title = "Music", URL = "https://kickass.to/music/?rss=1"
            });

            Filter tvFilter = new Filter()
            {
                Enabled = false, SearchInFeed = tvFeed, TitleFilter = "*", IgnoreCaps = true, Include = "", Exclude = "1080p;HDTV;", IsTV = false
            };

            Filters.Add(tvFilter);

            SelectedFeed   = tvFeed;
            SelectedFilter = tvFilter;
        }
Пример #23
0
 public async Task <IEnumerable <FeedItem> > Get([FromUri] DateTime dmin,
                                                 DateTime dmax, int?lmin, int?lmax, IEnumerable <int> ls, IEnumerable <int> ets,
                                                 int?c, int?r, string cf, IEnumerable <int> us, int?topN)
 {
     return(await Task.FromResult(Feeds.Get(dmin, dmax, lmin, lmax,
                                            ls, ets, c, r, cf, us, topN)));
 }
Пример #24
0
 /// <inheritdoc/>
 public override int GetHashCode()
 {
     unchecked
     {
         int result = base.GetHashCode();
         if (MinInjectorVersion != null)
         {
             result = (result * 397) ^ MinInjectorVersion.GetHashCode();
         }
         if (Uri != null)
         {
             result = (result * 397) ^ Uri.GetHashCode();
         }
         if (Name != null)
         {
             result = (result * 397) ^ Name.GetHashCode();
         }
         result = (result * 397) ^ Summaries.GetSequencedHashCode();
         result = (result * 397) ^ Descriptions.GetSequencedHashCode();
         if (Homepage != null)
         {
             result = (result * 397) ^ Homepage.GetHashCode();
         }
         result = (result * 397) ^ NeedsTerminal.GetHashCode();
         result = (result * 397) ^ Feeds.GetSequencedHashCode();
         result = (result * 397) ^ Categories.GetSequencedHashCode();
         result = (result * 397) ^ Icons.GetSequencedHashCode();
         result = (result * 397) ^ Elements.GetSequencedHashCode();
         result = (result * 397) ^ EntryPoints.GetSequencedHashCode();
         result = (result * 397) ^ CapabilityLists.GetSequencedHashCode();
         return(result);
     }
 }
Пример #25
0
        private void gridFeed_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (gridFeed.Rows.Count < 0)
                {
                    return;
                }
                if (e.RowIndex < 0)
                {
                    return;
                }
                var rad = gridFeed.Rows[e.RowIndex];
                if (rad.Tag == null)
                {
                    return;
                }

                int   rowIndex = gridFeed.Rows[e.RowIndex].Index;
                Feeds valdCell = (Feeds)gridFeed.Rows[rowIndex].Tag;
                var   feed     = (Feeds)rad.Tag;
                feed.FeedTitle                   = (String)rad.Cells["Title"].Value;
                feed.FeedUpdateIntervall         = (String)rad.Cells["Frequencys"].Value;
                feed.FeedCategories.CategoryName = (String)rad.Cells["Category"].Value;
                feedsMethods.UpdateFeeden(rowIndex, feed);
                gridFeed.Rows.Clear();
                UpdateFeed();
            }
            catch (NullReferenceException)
            { return; }
        }
Пример #26
0
        private void ParseRssFile()
        {
            string       RssFeedUrl = "http://www.haberturk.com/rss/" + konuid + ".xml";
            List <Feeds> feeds      = new List <Feeds>();

            try
            {
                XDocument xDoc = new XDocument();
                xDoc = XDocument.Load(RssFeedUrl);
                var items = (from x in xDoc.Descendants("item")
                             select new
                {
                    title = x.Element("title").Value,
                    link = x.Element("link").Value,
                    pubDate = x.Element("pubDate").Value,
                    description = x.Element("description").Value
                });
                if (items != null)
                {
                    foreach (var i in items)
                    {
                        Feeds f = new Feeds
                        {
                            title       = i.title,
                            link        = i.link,
                            pubDate     = i.pubDate,
                            description = i.description
                        };

                        feeds.Add(f);
                    }
                }
                //  Response.Write("<script>alert('Data inserted successfully')</script>");
                DataTable table1 = new DataTable();
                table1.Columns.Add("title");
                table1.Columns.Add("link");
                table1.Columns.Add("pubDate");
                table1.Columns.Add("description");



                foreach (Feeds prime in feeds)
                {
                    //resimLink = prime.description.Substring(51, 70);
                    //  Response.Write("<script>alert('"+theDescription+"')</script>");
                    table1.Rows.Add(prime.title, prime.link, prime.pubDate, prime.description);
                    //Response.Write("<script>alert('"+prime.title+"  "+prime.description+"')</script>");
                }
                DataList1.DataSource = table1;
                DataList1.DataBind();


                // gvRss.DataSource = feeds;
                // gvRss.DataBind();
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Пример #27
0
 /// <summary>
 /// Adds the current feed (in the Add Feed view) to the list of saved feeds.
 /// </summary>
 public void AddCurrentFeed()
 {
     Feeds.Add(CurrentFeed);
     NameOfFeedJustAdded       = CurrentFeed.Name;
     IsFeedAddedMessageShowing = true;
     Helpers.DoAfterDelay(5000, () => IsFeedAddedMessageShowing = false);
 }
Пример #28
0
 public async Task UpdateFeedAsync()
 {
     for (int i = 1; i < Feeds.Count(); i++)
     {
         await FeedDataSource.UpdateArticles(Feeds[i]);
     }
     Initialized?.Invoke(this, EventArgs.Empty);
 }
Пример #29
0
 public void LoadTiles(MetroPanel panel)
 {
     foreach (Feed feed in Feeds.GetFeedsFromConfig())
     {
         var tile = CreateTile(feed);
         AddTile(panel, tile);
     }
 }
Пример #30
0
 /// <summary>
 /// Gets every item in the feed and change any unread item to read
 /// then updateing the database with it
 /// </summary>
 /// <returns>Task Type</returns>
 private async Task MarkAsRead()
 {
     foreach (var item in Feeds.Where(x => x.IsRead == false))
     {
         item.IsRead = true;
         await RSSDataService.UpdateFeedAsync(item);
     }
 }