diff --git a/Mac/AppDefaults.swift b/Mac/AppDefaults.swift
index d38d065ec..fbc529dfd 100644
--- a/Mac/AppDefaults.swift
+++ b/Mac/AppDefaults.swift
@@ -30,7 +30,7 @@ final class AppDefaults {
static let timelineGroupByFeed = "timelineGroupByFeed"
static let detailFontSize = "detailFontSize"
static let openInBrowserInBackground = "openInBrowserInBackground"
- static let subscribeToFeedsInNetNewsWire = "subscribeToFeedsInNetNewsWire"
+ static let subscribeToFeedsInDefaultBrowser = "subscribeToFeedsInDefaultBrowser"
static let articleTextSize = "articleTextSize"
static let refreshInterval = "refreshInterval"
static let addWebFeedAccountID = "addWebFeedAccountID"
@@ -107,12 +107,12 @@ final class AppDefaults {
}
}
- var subscribeToFeedsInNetNewsWire: Bool {
+ var subscribeToFeedsInDefaultBrowser: Bool {
get {
- return AppDefaults.bool(for: Key.subscribeToFeedsInNetNewsWire)
+ return AppDefaults.bool(for: Key.subscribeToFeedsInDefaultBrowser)
}
set {
- AppDefaults.setBool(for: Key.subscribeToFeedsInNetNewsWire, newValue)
+ AppDefaults.setBool(for: Key.subscribeToFeedsInDefaultBrowser, newValue)
}
}
@@ -297,7 +297,7 @@ final class AppDefaults {
Key.detailFontSize: FontSize.medium.rawValue,
Key.timelineSortDirection: ComparisonResult.orderedDescending.rawValue,
Key.timelineGroupByFeed: false,
- Key.subscribeToFeedsInNetNewsWire: true,
+ Key.subscribeToFeedsInDefaultBrowser: false,
"NSScrollViewShouldScrollUnderTitlebar": false,
Key.refreshInterval: RefreshInterval.everyHour.rawValue,
Key.showDebugMenu: showDebugMenu]
diff --git a/Mac/Base.lproj/Preferences.storyboard b/Mac/Base.lproj/Preferences.storyboard
index c6fa7a8ae..9f9b2e431 100644
--- a/Mac/Base.lproj/Preferences.storyboard
+++ b/Mac/Base.lproj/Preferences.storyboard
@@ -190,7 +190,11 @@
-
+
+
+ NSNegateBoolean
+
+
diff --git a/Mac/SafariExtension/SafariExtensionHandler.swift b/Mac/SafariExtension/SafariExtensionHandler.swift
index b3c8cf828..14b9e8ad5 100644
--- a/Mac/SafariExtension/SafariExtensionHandler.swift
+++ b/Mac/SafariExtension/SafariExtensionHandler.swift
@@ -43,6 +43,8 @@ class SafariExtensionHandler: SFSafariExtensionHandler {
override func messageReceived(withName messageName: String, from page: SFSafariPage, userInfo: [String : Any]?) {
if (messageName == "subscribeToFeed") {
if var feedURLString = userInfo?["url"] as? String {
+ var openInDefaultBrowser = false
+
// Ask for the user default from NetNewsWire's defaults to determine whether to open the feed URL
// using whatever the system configured default is, or to always hard-code it to NetNewsWire itself.
if let pluginBundleID = Bundle.main.bundleIdentifier {
@@ -51,12 +53,14 @@ class SafariExtensionHandler: SFSafariExtensionHandler {
let hostAppBundleID = pluginBundleID.replacingOccurrences(of: ".Subscribe-to-Feed", with: "")
if let sharedDefaults = UserDefaults(suiteName: hostAppBundleID) {
- let openInNNW = sharedDefaults.bool(forKey: "subscribeToFeedsInNetNewsWire")
- if openInNNW {
- feedURLString = feedURLString.replacingOccurrences(of: "feed:", with: "x-netnewswire-feed")
- }
+ openInDefaultBrowser = sharedDefaults.bool(forKey: "subscribeToFeedsInDefaultBrowser")
}
}
+
+ if openInDefaultBrowser == false {
+ feedURLString = feedURLString.replacingOccurrences(of: "feed:", with: "x-netnewswire-feed")
+ }
+
if let feedURL = URL(string: feedURLString) {
NSWorkspace.shared.open(feedURL)
}
diff --git a/Multiplatform/Shared/AppDefaults.swift b/Multiplatform/Shared/AppDefaults.swift
index 193cd1a8a..861036520 100644
--- a/Multiplatform/Shared/AppDefaults.swift
+++ b/Multiplatform/Shared/AppDefaults.swift
@@ -75,7 +75,7 @@ final class AppDefaults: ObservableObject {
static let articleTextSize = "articleTextSize"
static let openInBrowserInBackground = "openInBrowserInBackground"
static let defaultBrowserID = "defaultBrowserID"
- static let subscribeToFeedsInNetNewsWire = "subscribeToFeedsInNetNewsWire"
+ static let subscribeToFeedsInDefaultBrowser = "subscribeToFeedsInDefaultBrowser"
static let checkForUpdatesAutomatically = "checkForUpdatesAutomatically"
static let downloadTestBuilds = "downloadTestBuild"
static let sendCrashLogs = "sendCrashLogs"
@@ -267,7 +267,7 @@ final class AppDefaults: ObservableObject {
}
}
- @AppStorage(wrappedValue: false, Key.subscribeToFeedsInNetNewsWire, store: store) var subscribeToFeedsInNetNewsWire: Bool {
+ @AppStorage(wrappedValue: false, Key.subscribeToFeedsInDefaultBrowser, store: store) var subscribeToFeedsInDefaultBrowser: Bool {
didSet {
objectWillChange.send()
}
diff --git a/Multiplatform/macOS/Preferences/Preference Panes/General/GeneralPreferencesView.swift b/Multiplatform/macOS/Preferences/Preference Panes/General/GeneralPreferencesView.swift
index 5342d1686..2ad76de9e 100644
--- a/Multiplatform/macOS/Preferences/Preference Panes/General/GeneralPreferencesView.swift
+++ b/Multiplatform/macOS/Preferences/Preference Panes/General/GeneralPreferencesView.swift
@@ -41,10 +41,10 @@ struct GeneralPreferencesView: View {
Toggle("Hide Unread Count in Dock", isOn: $defaults.hideDockUnreadCount)
Picker("Safari Extension:",
- selection: $defaults.subscribeToFeedsInNetNewsWire,
+ selection: $defaults.subscribeToFeedsInDefaultBrowser,
content: {
- Text("Open feeds in NetNewsWire").tag(true)
- Text("Open feeds in default news reader").tag(false)
+ Text("Open feeds in NetNewsWire").tag(false)
+ Text("Open feeds in default news reader").tag(true)
}).pickerStyle(RadioGroupPickerStyle())
}
.frame(width: 400, alignment: .center)