Disclose feed in side bar when selected from context menu even if the feed is filtered. Issue #1805
This commit is contained in:
parent
4b2f08e759
commit
dac4c2ffb0
@ -516,7 +516,7 @@ extension MainWindowController: TimelineContainerViewControllerDelegate {
|
||||
}
|
||||
|
||||
func timelineRequestedWebFeedSelection(_: TimelineContainerViewController, webFeed: WebFeed) {
|
||||
sidebarViewController?.selectWebFeed(webFeed)
|
||||
sidebarViewController?.selectFeed(webFeed)
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -329,15 +329,30 @@ protocol SidebarDelegate: class {
|
||||
|
||||
// MARK: - API
|
||||
|
||||
func selectWebFeed(_ webFeed: WebFeed) {
|
||||
revealAndSelectRepresentedObject(webFeed as AnyObject)
|
||||
func selectFeed(_ feed: Feed) {
|
||||
if isReadFiltered, let feedID = feed.feedID {
|
||||
self.treeControllerDelegate.addFilterException(feedID)
|
||||
|
||||
if let webFeed = feed as? WebFeed, let account = webFeed.account {
|
||||
let parentFolder = account.sortedFolders?.first(where: { $0.objectIsChild(webFeed) })
|
||||
if let parentFolderFeedID = parentFolder?.feedID {
|
||||
self.treeControllerDelegate.addFilterException(parentFolderFeedID)
|
||||
}
|
||||
}
|
||||
|
||||
rebuildTreeAndRestoreSelection()
|
||||
}
|
||||
|
||||
revealAndSelectRepresentedObject(feed as AnyObject)
|
||||
}
|
||||
|
||||
func deepLinkRevealAndSelect(for userInfo: [AnyHashable : Any]) {
|
||||
guard let accountNode = findAccountNode(userInfo), let feedNode = findFeedNode(userInfo, beginningAt: accountNode) else {
|
||||
guard let accountNode = findAccountNode(userInfo),
|
||||
let feedNode = findFeedNode(userInfo, beginningAt: accountNode),
|
||||
let feed = feedNode.representedObject as? Feed else {
|
||||
return
|
||||
}
|
||||
revealAndSelectRepresentedObject(feedNode.representedObject)
|
||||
selectFeed(feed)
|
||||
}
|
||||
|
||||
func toggleReadFilter() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user