From 6e63ce5968a29d1900ba76a449b03eebb64152d8 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sat, 27 Jan 2018 15:24:33 -0800 Subject: [PATCH] Set the menu item state for the sort-by menu items. --- Evergreen/AppDelegate.swift | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Evergreen/AppDelegate.swift b/Evergreen/AppDelegate.swift index ab23a8cb3..0b4f9b52a 100644 --- a/Evergreen/AppDelegate.swift +++ b/Evergreen/AppDelegate.swift @@ -132,11 +132,13 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, authorAvatarDownloader = AuthorAvatarDownloader(imageDownloader: imageDownloader) feedIconDownloader = FeedIconDownloader(imageDownloader: imageDownloader) + updateSortMenuItems() createAndShowMainWindow() NSAppleEventManager.shared().setEventHandler(self, andSelector: #selector(AppDelegate.getURL(_:_:)), forEventClass: AEEventClass(kInternetEventClass), andEventID: AEEventID(kAEGetURL)) NotificationCenter.default.addObserver(self, selector: #selector(feedSettingDidChange(_:)), name: .FeedSettingDidChange, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(userDefaultsDidChange(_:)), name: UserDefaults.didChangeNotification, object: nil) DispatchQueue.main.async { self.unreadCount = AccountManager.shared.unreadCount @@ -221,6 +223,11 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, inspectorWindowController.objects = objectsForInspector() } + @objc func userDefaultsDidChange(_ note: Notification) { + + updateSortMenuItems() + } + // MARK: Main Window func windowControllerWithName(_ storyboardName: String) -> NSWindowController { @@ -498,4 +505,11 @@ private extension AppDelegate { inspectorWindowController.saveState() } } + + func updateSortMenuItems() { + + let sortByNewestOnTop = AppDefaults.shared.timelineSortDirection == .orderedDescending + sortByNewestArticleOnTopMenuItem.state = sortByNewestOnTop ? .on : .off + sortByOldestArticleOnTopMenuItem.state = sortByNewestOnTop ? .off : .on + } }