From baf2dcf0c774bab06d9c5d82f79810b9b17a2862 Mon Sep 17 00:00:00 2001 From: Nate Weaver Date: Mon, 18 May 2020 21:36:29 -0500 Subject: [PATCH] Update "Open in Browser" menu item title as well --- Mac/AppDelegate.swift | 28 ++++++++++++++++++++++++++++ Mac/Base.lproj/Main.storyboard | 1 + 2 files changed, 29 insertions(+) diff --git a/Mac/AppDelegate.swift b/Mac/AppDelegate.swift index e8fbaa4ce..0b3f94d23 100644 --- a/Mac/AppDelegate.swift +++ b/Mac/AppDelegate.swift @@ -59,6 +59,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, @IBOutlet var sortByNewestArticleOnTopMenuItem: NSMenuItem! @IBOutlet var groupArticlesByFeedMenuItem: NSMenuItem! @IBOutlet var checkForUpdatesMenuItem: NSMenuItem! + @IBOutlet var openInBrowserMenuItem: NSMenuItem! var unreadCount = 0 { didSet { @@ -110,6 +111,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, NotificationCenter.default.addObserver(self, selector: #selector(inspectableObjectsDidChange(_:)), name: .InspectableObjectsDidChange, object: nil) NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(didWakeNotification(_:)), name: NSWorkspace.didWakeNotification, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(defaultBrowserDidChange(_:)), name: .DefaultBrowserDidChange, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(defaultBrowserDidChange(_:)), name: NSApplication.willBecomeActiveNotification, object: nil) + appDelegate = self } @@ -726,6 +730,30 @@ private extension AppDelegate { let groupByFeedEnabled = AppDefaults.timelineGroupByFeed groupArticlesByFeedMenuItem.state = groupByFeedEnabled ? .on : .off } + + func updateOpenInBrowserMenuItem() { + var browserName = NSLocalizedString("Browser", comment: "Browser") + + var currentBrowser: MacWebBrowser? + + if let browserID = AppDefaults.defaultBrowserID { + currentBrowser = MacWebBrowser(bundleIdentifier: browserID) + } else { + currentBrowser = MacWebBrowser.default + } + + if let currentBrowser = currentBrowser { + browserName = currentBrowser.name! + } + + let format = NSLocalizedString("Open in %@", comment: "Open in Browser menu item title format") + openInBrowserMenuItem.title = String(format: format, browserName) + + } + + @objc func defaultBrowserDidChange(_ note: Notification) { + updateOpenInBrowserMenuItem() + } } /* diff --git a/Mac/Base.lproj/Main.storyboard b/Mac/Base.lproj/Main.storyboard index dcccfcf9c..19cbb5704 100644 --- a/Mac/Base.lproj/Main.storyboard +++ b/Mac/Base.lproj/Main.storyboard @@ -659,6 +659,7 @@ +