diff --git a/Mac/AppDefaults.swift b/Mac/AppDefaults.swift index 7250cd2c6..0f23b0071 100644 --- a/Mac/AppDefaults.swift +++ b/Mac/AppDefaults.swift @@ -38,8 +38,10 @@ struct AppDefaults { static let showTitleOnMainWindow = "KafasisTitleMode" static let hideDockUnreadCount = "JustinMillerHideDockUnreadCount" - static let webInspectorEnabled = "WebInspectorEnabled" - static let webInspectorStartsAttached = "__WebInspectorPageGroupLevel1__.WebKit2InspectorStartsAttached" + #if !MAC_APP_STORE + static let webInspectorEnabled = "WebInspectorEnabled" + static let webInspectorStartsAttached = "__WebInspectorPageGroupLevel1__.WebKit2InspectorStartsAttached" + #endif } private static let smallestFontSizeRawValue = FontSize.small.rawValue @@ -142,23 +144,25 @@ struct AppDefaults { return bool(for: Key.hideDockUnreadCount) } - static var webInspectorEnabled: Bool { - get { - return bool(for: Key.webInspectorEnabled) + #if !MAC_APP_STORE + static var webInspectorEnabled: Bool { + get { + return bool(for: Key.webInspectorEnabled) + } + set { + setBool(for: Key.webInspectorEnabled, newValue) + } } - set { - setBool(for: Key.webInspectorEnabled, newValue) - } - } - static var webInspectorStartsAttached: Bool { - get { - return bool(for: Key.webInspectorStartsAttached) + static var webInspectorStartsAttached: Bool { + get { + return bool(for: Key.webInspectorStartsAttached) + } + set { + setBool(for: Key.webInspectorStartsAttached, newValue) + } } - set { - setBool(for: Key.webInspectorStartsAttached, newValue) - } - } + #endif static var timelineSortDirection: ComparisonResult { get { diff --git a/Mac/AppDelegate.swift b/Mac/AppDelegate.swift index d09174bbd..67d5970e4 100644 --- a/Mac/AppDelegate.swift +++ b/Mac/AppDelegate.swift @@ -43,7 +43,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, @IBOutlet var sortByNewestArticleOnTopMenuItem: NSMenuItem! @IBOutlet var groupArticlesByFeedMenuItem: NSMenuItem! @IBOutlet var checkForUpdatesMenuItem: NSMenuItem! - + var unreadCount = 0 { didSet { if unreadCount != oldValue { @@ -314,9 +314,11 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, if item.action == #selector(showAddFeedWindow(_:)) || item.action == #selector(showAddFolderWindow(_:)) { return !isDisplayingSheet && !AccountManager.shared.activeAccounts.isEmpty } + #if !MAC_APP_STORE if item.action == #selector(toggleWebInspectorEnabled(_:)) { (item as! NSMenuItem).state = AppDefaults.webInspectorEnabled ? .on : .off } + #endif return true } @@ -540,15 +542,17 @@ extension AppDelegate { } @IBAction func toggleWebInspectorEnabled(_ sender: Any?) { - let newValue = !AppDefaults.webInspectorEnabled - AppDefaults.webInspectorEnabled = newValue + #if !MAC_APP_STORE + let newValue = !AppDefaults.webInspectorEnabled + AppDefaults.webInspectorEnabled = newValue - // An attached inspector can display incorrectly on certain setups (like mine); default to displaying in a separate window, - // and reset the default to a separate window when the preference is toggled off and on again in case the inspector is - // accidentally reattached. - - AppDefaults.webInspectorStartsAttached = false - NotificationCenter.default.post(name: .WebInspectorEnabledDidChange, object: newValue) + // An attached inspector can display incorrectly on certain setups (like mine); default to displaying in a separate window, + // and reset the default to a separate window when the preference is toggled off and on again in case the inspector is + // accidentally reattached. + + AppDefaults.webInspectorStartsAttached = false + NotificationCenter.default.post(name: .WebInspectorEnabledDidChange, object: newValue) + #endif } } diff --git a/Mac/Base.lproj/Main.storyboard b/Mac/Base.lproj/Main.storyboard index 9aeaf4d10..6912abb0f 100644 --- a/Mac/Base.lproj/Main.storyboard +++ b/Mac/Base.lproj/Main.storyboard @@ -480,7 +480,7 @@ - + @@ -596,6 +596,7 @@ + diff --git a/Mac/MainWindow/Detail/DetailWebViewController.swift b/Mac/MainWindow/Detail/DetailWebViewController.swift index 4b9cd8f82..541369beb 100644 --- a/Mac/MainWindow/Detail/DetailWebViewController.swift +++ b/Mac/MainWindow/Detail/DetailWebViewController.swift @@ -28,14 +28,16 @@ final class DetailWebViewController: NSViewController, WKUIDelegate { } } - private var webInspectorEnabled: Bool { - get { - return webView.configuration.preferences._developerExtrasEnabled + #if !MAC_APP_STORE + private var webInspectorEnabled: Bool { + get { + return webView.configuration.preferences._developerExtrasEnabled + } + set { + webView.configuration.preferences._developerExtrasEnabled = newValue + } } - set { - webView.configuration.preferences._developerExtrasEnabled = newValue - } - } + #endif private var waitingForFirstReload = false private let keyboardDelegate = DetailKeyboardDelegate() @@ -96,9 +98,11 @@ final class DetailWebViewController: NSViewController, WKUIDelegate { webView.isHidden = true waitingForFirstReload = true - webInspectorEnabled = AppDefaults.webInspectorEnabled + #if !MAC_APP_STORE + webInspectorEnabled = AppDefaults.webInspectorEnabled - NotificationCenter.default.addObserver(self, selector: #selector(webInspectorEnabledDidChange(_:)), name: .WebInspectorEnabledDidChange, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(webInspectorEnabledDidChange(_:)), name: .WebInspectorEnabledDidChange, object: nil) + #endif reloadHTML() } @@ -201,9 +205,11 @@ private extension DetailWebViewController { } } - @objc func webInspectorEnabledDidChange(_ notification: Notification) { - self.webInspectorEnabled = notification.object! as! Bool - } + #if !MAC_APP_STORE + @objc func webInspectorEnabledDidChange(_ notification: Notification) { + self.webInspectorEnabled = notification.object! as! Bool + } + #endif } // MARK: - ScrollInfo diff --git a/Shared/AppNotifications.swift b/Shared/AppNotifications.swift index 3fd03355a..6f2e8e4bb 100644 --- a/Shared/AppNotifications.swift +++ b/Shared/AppNotifications.swift @@ -13,7 +13,10 @@ extension Notification.Name { static let InspectableObjectsDidChange = Notification.Name("TimelineSelectionDidChangeNotification") static let UserDidAddFeed = Notification.Name("UserDidAddFeedNotification") static let UserDidRequestSidebarSelection = Notification.Name("UserDidRequestSidebarSelectionNotification") - static let WebInspectorEnabledDidChange = Notification.Name("WebInspectorEnabledDidChange") + + #if !MAC_APP_STORE + static let WebInspectorEnabledDidChange = Notification.Name("WebInspectorEnabledDidChange") + #endif } typealias UserInfoDictionary = [AnyHashable: Any]