/// <summary> /// Called by <see cref="FeedSource"/> if a category is moved from outside the application /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnMovedCategory(object sender, FeedSource.CategoryChangedEventArgs e) { FeedSourceEntry entry = sourceManager.SourceOf((FeedSource)sender); InvokeOnGui(delegate { TreeFeedsNodeBase parent, tn = TreeHelper.FindCategoryNode(guiMain.GetSubscriptionRootNode(entry), e.CategoryName); int index = e.NewCategoryName.LastIndexOf(FeedSource.CategorySeparator); if (index == -1) { parent = guiMain.GetSubscriptionRootNode(entry); } else { parent = TreeHelper.FindCategoryNode(guiMain.GetSubscriptionRootNode(entry), e.NewCategoryName.Substring(0, index)); } if (tn != null && parent != null) { guiMain.MoveNode(tn, parent, false); SubscriptionModified(entry, NewsFeedProperty.FeedCategoryAdded); } }); }
/// <summary> /// Called by FeedSource if a category is renamed from outside the application /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnRenamedCategory(object sender, FeedSource.CategoryChangedEventArgs e) { FeedSourceEntry entry = sourceManager.SourceOf((FeedSource)sender); InvokeOnGui(delegate { TreeFeedsNodeBase tn = TreeHelper.FindChildNode(guiMain.GetSubscriptionRootNode(entry), e.CategoryName, FeedNodeType.Category); if (tn != null) { guiMain.RenameTreeNode(tn, e.NewCategoryName); SubscriptionModified(entry, NewsFeedProperty.FeedCategoryAdded); } }); }