/// <summary> /// cant be already in the channel, have a null name, or have a bad url /// </summary> /// <param name="feed"></param> public void AddFeed(Feed feed) { if (!Feeds.Contains(feed) && feed!= null) { Feeds.Add(feed); } }
/// <summary> /// The call at the ui level /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddFeedMenuItem_OnClick(object sender, RoutedEventArgs e) { // Get user input AddFeedWindow addFeedWindow = new AddFeedWindow(); addFeedWindow.ShowDialog(); if (addFeedWindow.DialogResult == true) { // Create feed and and add it to the engine Feed newFeed = new Feed(addFeedWindow.Feed.Item1, addFeedWindow.Feed.Item2, UpdateListCallBack, TaskScheduler.FromCurrentSynchronizationContext()); Subscriptions.AddFeed(newFeed); newFeed.treeViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RemoveGestureText, RemoveMenuOption)); // Add to UI ContentTreeView.Items.Add(newFeed.treeViewItem); } }
/// <summary> /// Determines if we should return filtered or normal /// </summary> /// <param name="feed"></param> /// <returns></returns> public static List<Article> GetFilteredArticles(Feed feed) { if (feed == null) { return null; } var articles = Filter ? (from article in feed.Articles.ToList() where FilterArticlesByDate(article) select article).ToList() : feed.Articles.ToList(); return UnreadOnly ? (from article in articles where article.HasBeenRead == "unread" select article).ToList() : articles; }
private void AddFeedItem(object sender, RoutedEventArgs e) { //this is NOT a good way to do this TreeViewItem parent = ContentTreeView.SelectedItem as TreeViewItem; if (parent != null) { AddFeedWindow addFeedWindow = new AddFeedWindow(); addFeedWindow.ShowDialog(); if (true == addFeedWindow.DialogResult) { Feed newFeed = new Feed(addFeedWindow.Feed.Item1, addFeedWindow.Feed.Item2, UpdateListCallBack, TaskScheduler.FromCurrentSynchronizationContext()); newFeed.treeViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RemoveGestureText, RemoveMenuOption)); parent.Items.Add(newFeed); } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void AddFeedItemToParent(object sender, RoutedEventArgs e) { // Get user input var addFeedWindow = new HelperWindows.AddFeedWindow(); addFeedWindow.ShowDialog(); if (addFeedWindow.DialogResult == true) { // Create feed and and add it to the engine Feed newFeed = new Feed(addFeedWindow.Feed.Item1, addFeedWindow.Feed.Item2); _subscriptions.AddFeed(newFeed); TreeViewItem feedViewItem = MakeTreeViewItem(newFeed.Name); feedViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RemoveGestureText, RemoveMenuOption)); feedViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RenameGesureText, RenameMenuOption)); // Add to UI TreeView.Items.Add(feedViewItem); } }
/// <summary> /// Adds a feed to the visual tree /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void AddFeedItem(object sender, RoutedEventArgs e) { TreeViewItem parent = TreeView.SelectedItem as TreeViewItem; if (parent != null) { HelperWindows.AddFeedWindow addFeedWindow = new HelperWindows.AddFeedWindow(); addFeedWindow.ShowDialog(); if (true == addFeedWindow.DialogResult) { Feed newFeed = new Feed(addFeedWindow.Feed.Item1, addFeedWindow.Feed.Item2); AddFeed(newFeed); TreeViewItem feedViewItem = MakeTreeViewItem(newFeed.Name); feedViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RemoveGestureText, RemoveMenuOption)); try { parent.Items.Add(feedViewItem); } catch (InvalidOperationException) { ((TreeViewItem)parent.Parent)?.Items.Add(feedViewItem); } var subscriptionParent = _subscriptions.SearchForChannel(parent.Header.ToString()); subscriptionParent?.AddFeed(newFeed); } } }
/// <summary> /// tester for Facade /// </summary> public static void AddFeedToTree() { var createFeedWindow = new HelperWindows.AddFeedWindow(); createFeedWindow.ShowDialog(); if (createFeedWindow.DialogResult == true) { // Create feed and add it var feed = new Feed(createFeedWindow.Feed.Item1, createFeedWindow.Feed.Item2); var feedViewItem = MakeTreeViewItem(createFeedWindow.Feed.Item1); feedViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RemoveGestureText, RemoveMenuOption)); if (SelectedTreeViewItem != null) { var channel = _subscriptions.SearchForChannel(((TreeViewItem)SelectedTreeViewItem)?.Header.ToString()); if (channel != null) { channel.AddFeed(feed); (SelectedTreeViewItem as TreeViewItem).Items.Add(feedViewItem); } } else { TreeView.Items.Add(feedViewItem); } _subscriptions.AddFeed(feed); } }
/// <summary> /// Add a feed to the tree and subscription object /// </summary> /// <remarks> /// Mainly used in facade /// </remarks> public static void AddFeedToTree(Tuple<TreeViewItem, Channel> parent) { var createFeedWindow = new HelperWindows.AddFeedWindow(); createFeedWindow.ShowDialog(); if (createFeedWindow.DialogResult == true) { // Create feed and add it var feed = new Feed(createFeedWindow.Feed.Item1, createFeedWindow.Feed.Item2); var feedViewItem = MakeTreeViewItem(createFeedWindow.Feed.Item1); feedViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RemoveGestureText, RemoveMenuOption)); if (parent != null) { parent.Item2?.AddFeed(feed); parent.Item1.Items.Add(feedViewItem); } else { TreeView.Items.Add(feedViewItem); } _subscriptions.AddFeed(feed); } }
/// <summary> /// Move a feed from a channel /// </summary> /// <param name="feed"></param> /// <param name="channel"></param> /// <remarks> /// If a feed exists in a channel, remove it from the channel and return the same feed, otherwise return null /// </remarks> public Feed MoveFromChannel(Feed feed, Channel channel) { Feed feedToRemove = null; if (channel.Feeds.Contains(feed)) { channel.Feeds.Remove(feed); feedToRemove = feed; } return feedToRemove; }
/// <summary> /// Moves a feed to a channel /// </summary> /// <param name="feed"></param> /// <param name="channel"></param> public void MoveToChannel(Feed feed, Channel channel) { channel.Feeds.Add(feed); }
/// <summary> /// Adds a given feed to a given channel /// </summary> /// <param name="feed"></param> /// <param name="channel"></param> public void AddFeedtoChannel(Feed feed, Channel channel) { channel.Feeds.Add(feed); }
/// <summary> /// Removes a given feed from a given channel /// </summary> /// <param name="feed"></param> /// <param name="channel"></param> public void RemoveFeedfromChannel(Feed feed, Channel channel) { channel.Feeds.Remove(feed); }
/// <summary> /// removes a feed /// </summary> /// <param name="feed"></param> public void RemoveFeed(Feed feed) { if (ItemList.Contains(feed)) { ItemList.Remove(feed); feed.PropertyChanged -= OnFeedChanged; } }
/// <param name="feed"></param> public void AddFeed(Feed feed) { if (!ItemList.Contains(feed)) { feed.RefreshRate = RefreshRate; ItemList.Add(feed); feed.PropertyChanged += OnFeedChanged; } }
/// <summary> /// Adds a feed /// </summary> /// <param name="feed"></param> public static void AddFeed(Feed feed) { _subscriptions.AddFeed(feed); }
/// <summary> /// Removes a feed /// </summary> /// <param name="feed"></param> public void RemoveFeed(Feed feed) { if ((_name != null) && Feeds.Contains(feed)) { Feeds.Remove(feed); } }