From d671029828d063fad4b5c173be2ebcaf085da7f8 Mon Sep 17 00:00:00 2001 From: Rizwan Mohamed Ibrahim Date: Fri, 29 May 2020 19:26:20 +0530 Subject: [PATCH] refactor open in app browser for mac and iOS --- Mac/MainWindow/MainWindowController.swift | 2 +- Mac/MainWindow/Sidebar/SidebarViewController.swift | 8 ++++++++ Shared/Resources/GlobalKeyboardShortcuts.plist | 2 +- iOS/KeyboardManager.swift | 2 +- iOS/RootSplitViewController.swift | 6 +++--- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Mac/MainWindow/MainWindowController.swift b/Mac/MainWindow/MainWindowController.swift index 0a862d4ea..4587c51fd 100644 --- a/Mac/MainWindow/MainWindowController.swift +++ b/Mac/MainWindow/MainWindowController.swift @@ -273,7 +273,7 @@ class MainWindowController : NSWindowController, NSUserInterfaceValidations { openArticleInBrowser(sender) } - @objc func openFeedInAppBrowser(_ sender: Any?) { + @objc func openInAppBrowser(_ sender: Any?) { // There is no In-App Browser for mac - so we use safari openArticleInBrowser(sender) } diff --git a/Mac/MainWindow/Sidebar/SidebarViewController.swift b/Mac/MainWindow/Sidebar/SidebarViewController.swift index 7cb181d39..a6afd8cca 100644 --- a/Mac/MainWindow/Sidebar/SidebarViewController.swift +++ b/Mac/MainWindow/Sidebar/SidebarViewController.swift @@ -240,6 +240,14 @@ protocol SidebarDelegate: class { Browser.open(homePageURL, invertPreference: NSApp.currentEvent?.modifierFlags.contains(.shift) ?? false) } + @objc func openInAppBrowser(_ sender: Any?) { + // There is no In-App Browser for mac - so we use safari + guard let feed = singleSelectedWebFeed, let homePageURL = feed.homePageURL else { + return + } + Browser.open(homePageURL, invertPreference: NSApp.currentEvent?.modifierFlags.contains(.shift) ?? false) + } + @IBAction func gotoToday(_ sender: Any?) { selectFeed(SmartFeedsController.shared.todayFeed) focus() diff --git a/Shared/Resources/GlobalKeyboardShortcuts.plist b/Shared/Resources/GlobalKeyboardShortcuts.plist index ed8bc7e4d..c72a56917 100644 --- a/Shared/Resources/GlobalKeyboardShortcuts.plist +++ b/Shared/Resources/GlobalKeyboardShortcuts.plist @@ -110,7 +110,7 @@ key [return] action - openFeedInAppBrowser: + openInAppBrowser: key diff --git a/iOS/KeyboardManager.swift b/iOS/KeyboardManager.swift index 581652073..9fcbff108 100644 --- a/iOS/KeyboardManager.swift +++ b/iOS/KeyboardManager.swift @@ -178,7 +178,7 @@ private extension KeyboardManager { keys.append(KeyboardManager.createKeyCommand(title: openInBrowserTitle, action: "openInBrowser:", input: UIKeyCommand.inputRightArrow, modifiers: [.command])) let openInAppBrowserTitle = NSLocalizedString("Open In App Browser", comment: "Open In App Browser") - keys.append(KeyboardManager.createKeyCommand(title: openInAppBrowserTitle, action: "openInAppBrowser:", input: "\r", modifiers: [])) + keys.append(KeyboardManager.createKeyCommand(title: openInAppBrowserTitle, action: "openArticleInAppBrowser:", input: "\r", modifiers: [])) let toggleReadTitle = NSLocalizedString("Toggle Read Status", comment: "Toggle Read Status") keys.append(KeyboardManager.createKeyCommand(title: toggleReadTitle, action: "toggleRead:", input: "u", modifiers: [.command, .shift])) diff --git a/iOS/RootSplitViewController.swift b/iOS/RootSplitViewController.swift index 4117a0ee7..18c53c305 100644 --- a/iOS/RootSplitViewController.swift +++ b/iOS/RootSplitViewController.swift @@ -83,11 +83,11 @@ class RootSplitViewController: UISplitViewController { } @objc func openInAppBrowser(_ sender: Any?) { - coordinator.showInAppBrowserForCurrentArticle() + coordinator.showInAppBrowserForCurrentFeed() } - @objc func openFeedInAppBrowser(_ sender: Any?) { - coordinator.showInAppBrowserForCurrentFeed() + @objc func openArticleInAppBrowser(_ sender: Any?) { + coordinator.showInAppBrowserForCurrentArticle() } @objc func articleSearch(_ sender: Any?) {