diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index e637bd534..23535d353 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -201,6 +201,7 @@ 844B5B691FEA20DF00C7C76A /* SidebarKeyboardShortcuts.plist in Resources */ = {isa = PBXBuildFile; fileRef = 844B5B681FEA20DF00C7C76A /* SidebarKeyboardShortcuts.plist */; }; 845213231FCA5B11003B6E93 /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845213221FCA5B10003B6E93 /* ImageDownloader.swift */; }; 845479881FEB77C000AD8B59 /* TimelineKeyboardShortcuts.plist in Resources */ = {isa = PBXBuildFile; fileRef = 845479871FEB77C000AD8B59 /* TimelineKeyboardShortcuts.plist */; }; + 84595CA221E9C880003E15A4 /* AdvancedPreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84595CA121E9C880003E15A4 /* AdvancedPreferencesViewController.swift */; }; 845A29091FC74B8E007B49E3 /* SingleFaviconDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845A29081FC74B8E007B49E3 /* SingleFaviconDownloader.swift */; }; 845A29221FC9251E007B49E3 /* SidebarCellLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845A29211FC9251E007B49E3 /* SidebarCellLayout.swift */; }; 845A29241FC9255E007B49E3 /* SidebarCellAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845A29231FC9255E007B49E3 /* SidebarCellAppearance.swift */; }; @@ -785,6 +786,7 @@ 84513F8F1FAA63950023A1A9 /* FeedListControlsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListControlsView.swift; sourceTree = ""; }; 845213221FCA5B10003B6E93 /* ImageDownloader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageDownloader.swift; sourceTree = ""; }; 845479871FEB77C000AD8B59 /* TimelineKeyboardShortcuts.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = TimelineKeyboardShortcuts.plist; sourceTree = ""; }; + 84595CA121E9C880003E15A4 /* AdvancedPreferencesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AdvancedPreferencesViewController.swift; path = NetNewsWire/Preferences/AdvancedPreferencesViewController.swift; sourceTree = ""; }; 845A29081FC74B8E007B49E3 /* SingleFaviconDownloader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SingleFaviconDownloader.swift; sourceTree = ""; }; 845A29211FC9251E007B49E3 /* SidebarCellLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarCellLayout.swift; sourceTree = ""; }; 845A29231FC9255E007B49E3 /* SidebarCellAppearance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SidebarCellAppearance.swift; sourceTree = ""; }; @@ -1099,6 +1101,7 @@ 849A97A41ED9F94D007D329B /* Preferences.storyboard */, 849A97841ED9ECCD007D329B /* PreferencesWindowController.swift */, 84754C89213E471B009CFDFB /* GeneralPrefencesViewController.swift */, + 84595CA121E9C880003E15A4 /* AdvancedPreferencesViewController.swift */, ); name = Preferences; sourceTree = ""; @@ -2458,6 +2461,7 @@ 849A975E1ED9EB72007D329B /* MainWindowController.swift in Sources */, 842E45E51ED8C6B7000A8B52 /* MainWindowSplitView.swift in Sources */, 84F2D53A1FC2308B00998D64 /* UnreadFeed.swift in Sources */, + 84595CA221E9C880003E15A4 /* AdvancedPreferencesViewController.swift in Sources */, 845A29221FC9251E007B49E3 /* SidebarCellLayout.swift in Sources */, 84AD1EBA2031649C00BC20B7 /* SmartFeedPasteboardWriter.swift in Sources */, 84CC88181FE59CBF00644329 /* SmartFeedsController.swift in Sources */, diff --git a/NetNewsWire/Base.lproj/Preferences.storyboard b/NetNewsWire/Base.lproj/Preferences.storyboard index 5f356a9df..08e8e3580 100644 --- a/NetNewsWire/Base.lproj/Preferences.storyboard +++ b/NetNewsWire/Base.lproj/Preferences.storyboard @@ -31,11 +31,11 @@ - + - + @@ -44,7 +44,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -73,7 +73,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -97,38 +97,8 @@ - - - - - - - - - - - - - - - - - - - @@ -166,7 +127,72 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetNewsWire/Preferences/AdvancedPreferencesViewController.swift b/NetNewsWire/Preferences/AdvancedPreferencesViewController.swift new file mode 100644 index 000000000..8e8909f25 --- /dev/null +++ b/NetNewsWire/Preferences/AdvancedPreferencesViewController.swift @@ -0,0 +1,14 @@ +// +// AdvancedPreferencesViewController.swift +// NetNewsWire +// +// Created by Brent Simmons on 1/11/19. +// Copyright © 2019 Ranchero Software. All rights reserved. +// + +import AppKit + +final class AdvancedPreferencesViewController: NSViewController { + +} + diff --git a/NetNewsWire/Preferences/PreferencesWindowController.swift b/NetNewsWire/Preferences/PreferencesWindowController.swift index bceb51a61..66c79b017 100644 --- a/NetNewsWire/Preferences/PreferencesWindowController.swift +++ b/NetNewsWire/Preferences/PreferencesWindowController.swift @@ -15,22 +15,25 @@ private struct PreferencesToolbarItemSpec { let imageName: NSImage.Name init(identifierRawValue: String, name: String, imageName: NSImage.Name) { - - self.identifier = NSToolbarItem.Identifier(rawValue: identifierRawValue) + self.identifier = NSToolbarItem.Identifier(identifierRawValue) self.name = name self.imageName = imageName } } -private let toolbarItemIdentifierGeneral = "General" +private struct ToolbarItemIdentifier { + static let General = "General" + static let Advanced = "Advanced" +} class PreferencesWindowController : NSWindowController, NSToolbarDelegate { private let windowFrameName = "Preferences" - fileprivate var viewControllers = [String: NSViewController]() - fileprivate let toolbarItemSpecs: [PreferencesToolbarItemSpec] = { + private var viewControllers = [String: NSViewController]() + private let toolbarItemSpecs: [PreferencesToolbarItemSpec] = { var specs = [PreferencesToolbarItemSpec]() - specs += [PreferencesToolbarItemSpec(identifierRawValue: toolbarItemIdentifierGeneral, name: NSLocalizedString("General", comment: "Preferences"), imageName: NSImage.preferencesGeneralName)] + specs += [PreferencesToolbarItemSpec(identifierRawValue: ToolbarItemIdentifier.General, name: NSLocalizedString("General", comment: "Preferences"), imageName: NSImage.preferencesGeneralName)] + specs += [PreferencesToolbarItemSpec(identifierRawValue: ToolbarItemIdentifier.Advanced, name: NSLocalizedString("Advanced", comment: "Preferences"), imageName: NSImage.advancedName)] return specs }()