diff --git a/Evergreen/AppDelegate.swift b/Evergreen/AppDelegate.swift
index 94fb3cd6c..f811c113d 100644
--- a/Evergreen/AppDelegate.swift
+++ b/Evergreen/AppDelegate.swift
@@ -50,7 +50,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations,
private let windowControllers = NSMutableArray()
private var preferencesWindowController: NSWindowController?
- private var mainWindowController: NSWindowController?
+ private var mainWindowController: MainWindowController?
private var readerWindows = [NSWindowController]()
private var feedListWindowController: NSWindowController?
private var addFeedController: AddFeedController?
@@ -442,13 +442,31 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations,
AccountManager.shared.accounts.forEach{ $0.debugDropConditionalGetInfo() }
#endif
}
+
+ @IBAction func gotoToday(_ sender: Any?) {
+
+ createAndShowMainWindow()
+ mainWindowController!.gotoToday(sender)
+ }
+
+ @IBAction func gotoAllUnread(_ sender: Any?) {
+
+ createAndShowMainWindow()
+ mainWindowController!.gotoAllUnread(sender)
+ }
+
+ @IBAction func gotoStarred(_ sender: Any?) {
+
+ createAndShowMainWindow()
+ mainWindowController!.gotoStarred(sender)
+ }
}
private extension AppDelegate {
- func createReaderWindow() -> NSWindowController {
+ func createReaderWindow() -> MainWindowController {
- return windowControllerWithName("MainWindow")
+ return windowControllerWithName("MainWindow") as! MainWindowController
}
func objectsForInspector() -> [Any]? {
diff --git a/Evergreen/Base.lproj/Main.storyboard b/Evergreen/Base.lproj/Main.storyboard
index aaee9a232..59802f397 100644
--- a/Evergreen/Base.lproj/Main.storyboard
+++ b/Evergreen/Base.lproj/Main.storyboard
@@ -372,9 +372,21 @@
-
-
-
+
+
+
diff --git a/Evergreen/MainWindow/MainWindowController.swift b/Evergreen/MainWindow/MainWindowController.swift
index 5fb8cc31c..5a7959c84 100644
--- a/Evergreen/MainWindow/MainWindowController.swift
+++ b/Evergreen/MainWindow/MainWindowController.swift
@@ -277,6 +277,21 @@ class MainWindowController : NSWindowController, NSUserInterfaceValidations {
sidebarViewController?.outlineView.selectNextRow(sender)
}
+ @IBAction func gotoToday(_ sender: Any?) {
+
+ sidebarViewController?.gotoToday(sender)
+ }
+
+ @IBAction func gotoAllUnread(_ sender: Any?) {
+
+ sidebarViewController?.gotoAllUnread(sender)
+ }
+
+ @IBAction func gotoStarred(_ sender: Any?) {
+
+ sidebarViewController?.gotoStarred(sender)
+ }
+
@IBAction func toolbarShowShareMenu(_ sender: Any?) {
guard let selectedArticles = selectedArticles, !selectedArticles.isEmpty else {
diff --git a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift
index a2d735746..957b6d6d0 100644
--- a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift
+++ b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift
@@ -146,6 +146,21 @@ import RSCore
Browser.open(homePageURL)
}
+ @IBAction func gotoToday(_ sender: Any?) {
+
+ outlineView.revealAndSelectRepresentedObject(SmartFeedsController.shared.todayFeed, treeController)
+ }
+
+ @IBAction func gotoAllUnread(_ sender: Any?) {
+
+ outlineView.revealAndSelectRepresentedObject(SmartFeedsController.shared.unreadFeed, treeController)
+ }
+
+ @IBAction func gotoStarred(_ sender: Any?) {
+
+ outlineView.revealAndSelectRepresentedObject(SmartFeedsController.shared.starredFeed, treeController)
+ }
+
// MARK: Navigation
func canGoToNextUnread() -> Bool {