Always respect the user's "Open in Browser" preference

This commit is contained in:
Nate Weaver
2022-10-08 22:08:00 -05:00
parent 7f69ddc749
commit 6dc1393143
2 changed files with 10 additions and 3 deletions

View File

@@ -93,7 +93,7 @@ extension TimelineViewController {
return
}
Browser.open(urlStrings, fromWindow: self.view.window)
Browser.open(urlStrings, fromWindow: self.view.window, invertPreference: NSApp.currentEvent?.modifierFlags.contains(.shift) ?? false)
}
@objc func copyURLFromContextualMenu(_ sender: Any?) {
@@ -182,6 +182,7 @@ private extension TimelineViewController {
if links.count > 0 {
menu.addSeparatorIfNeeded()
menu.addItem(openInBrowserMenuItem(links))
menu.addItem(openInBrowserReversedMenuItem(links))
menu.addSeparatorIfNeeded()
menu.addItem(copyArticleURLsMenuItem(links))
@@ -278,9 +279,15 @@ private extension TimelineViewController {
}
func openInBrowserMenuItem(_ urlStrings: [String]) -> NSMenuItem {
return menuItem(NSLocalizedString("Open in Browser", comment: "Command"), #selector(openInBrowserFromContextualMenu(_:)), urlStrings)
}
func openInBrowserReversedMenuItem(_ urlStrings: [String]) -> NSMenuItem {
let item = menuItem(Browser.titleForOpenInBrowserInverted, #selector(openInBrowserFromContextualMenu(_:)), urlStrings)
item.keyEquivalentModifierMask = .shift
item.isAlternate = true
return item;
}
func copyArticleURLsMenuItem(_ urlStrings: [String]) -> NSMenuItem {
let format = NSLocalizedString("Copy Article URL", comment: "Command")

View File

@@ -316,7 +316,7 @@ final class TimelineViewController: NSViewController, UndoableCommandRunner, Unr
@objc func openArticleInBrowser(_ sender: Any?) {
let urlStrings = selectedArticles.compactMap { $0.preferredLink }
Browser.open(urlStrings, fromWindow: self.view.window)
Browser.open(urlStrings, fromWindow: self.view.window, invertPreference: NSApp.currentEvent?.modifierFlags.contains(.shift) ?? false)
}
@IBAction func toggleStatusOfSelectedArticles(_ sender: Any?) {