diff --git a/Evergreen/MainWindow/MainWindowController.swift b/Evergreen/MainWindow/MainWindowController.swift index 67101e0f8..a45b87394 100644 --- a/Evergreen/MainWindow/MainWindowController.swift +++ b/Evergreen/MainWindow/MainWindowController.swift @@ -166,23 +166,39 @@ class MainWindowController : NSWindowController, NSUserInterfaceValidations { openArticleInBrowser(sender) } + func makeTimelineViewFirstResponder() { + + guard let window = window, let timelineViewController = timelineViewController else { + return + } + window.makeFirstResponderUnlessDescendantIsFirstResponder(timelineViewController.tableView) + } + @IBAction func nextUnread(_ sender: Any?) { guard let timelineViewController = timelineViewController, let sidebarViewController = sidebarViewController else { return } - func makeTimelineViewFirstResponder() { - - window!.makeFirstResponderUnlessDescendantIsFirstResponder(timelineViewController.tableView) - } - if timelineViewController.canGoToNextUnread() { - timelineViewController.goToNextUnread() - makeTimelineViewFirstResponder() + goToNextUnreadInTimeline() } else if sidebarViewController.canGoToNextUnread() { sidebarViewController.goToNextUnread() + if timelineViewController.canGoToNextUnread() { + goToNextUnreadInTimeline() + } + } + } + + func goToNextUnreadInTimeline() { + + guard let timelineViewController = timelineViewController else { + return + } + + if timelineViewController.canGoToNextUnread() { + timelineViewController.goToNextUnread() makeTimelineViewFirstResponder() } } diff --git a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift index f1fd30060..cf369440e 100644 --- a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift +++ b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift @@ -151,8 +151,6 @@ import RSCore } outlineView.selectRowIndexes(IndexSet([row]), byExtendingSelection: false) - - NSApplication.shared.sendAction(NSSelectorFromString("nextUnread:"), to: nil, from: self) } func focus() {