diff --git a/Mac/Preferences/Accounts/AccountsAdd.xib b/Mac/Preferences/Accounts/AccountsAdd.xib
deleted file mode 100644
index 1fb72c35e..000000000
--- a/Mac/Preferences/Accounts/AccountsAdd.xib
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Mac/Preferences/Accounts/AccountsAddTableCellView.swift b/Mac/Preferences/Accounts/AccountsAddTableCellView.swift
deleted file mode 100644
index fca762320..000000000
--- a/Mac/Preferences/Accounts/AccountsAddTableCellView.swift
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-// AccountsAddTableCellView.swift
-// NetNewsWire
-//
-// Created by Maurice Parker on 5/1/19.
-// Copyright © 2019 Ranchero Software. All rights reserved.
-//
-
-import AppKit
-import Account
-
-protocol AccountsAddTableCellViewDelegate: class {
- func addAccount(_ accountType: AccountType)
-}
-
-class AccountsAddTableCellView: NSTableCellView {
-
- weak var delegate: AccountsAddTableCellViewDelegate?
- var accountType: AccountType?
-
- @IBOutlet weak var accountImageView: NSImageView?
- @IBOutlet weak var accountNameLabel: NSTextField?
-
- @IBAction func pressed(_ sender: Any) {
- guard let accountType = accountType else { return }
- delegate?.addAccount(accountType)
- }
-
-}
diff --git a/Mac/Preferences/Accounts/AccountsAddViewController.swift b/Mac/Preferences/Accounts/AccountsAddViewController.swift
deleted file mode 100644
index 2b78d7532..000000000
--- a/Mac/Preferences/Accounts/AccountsAddViewController.swift
+++ /dev/null
@@ -1,260 +0,0 @@
-//
-// AccountsAddViewController.swift
-// NetNewsWire
-//
-// Created by Maurice Parker on 5/1/19.
-// Copyright © 2019 Ranchero Software. All rights reserved.
-//
-
-import AppKit
-import Account
-import RSCore
-
-class AccountsAddViewController: NSViewController {
-
- @IBOutlet weak var tableView: NSTableView!
-
- private var accountsAddWindowController: NSWindowController?
-
- #if DEBUG
- private var addableAccountTypes: [AccountType] = [.onMyMac, .cloudKit, .bazQux, .feedbin, .feedly, .feedWrangler, .inoreader, .newsBlur, .theOldReader, .freshRSS]
- #else
- private var addableAccountTypes: [AccountType] = [.onMyMac, .cloudKit, .bazQux, .feedbin, .feedly, .feedWrangler, .inoreader, .newsBlur, .theOldReader, .freshRSS]
- #endif
-
- init() {
- super.init(nibName: "AccountsAdd", bundle: nil)
- }
-
- public required init?(coder: NSCoder) {
- super.init(coder: coder)
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- tableView.dataSource = self
- tableView.delegate = self
- restrictAccounts()
- }
-
-}
-
-// MARK: - NSTableViewDataSource
-
-extension AccountsAddViewController: NSTableViewDataSource {
-
- func numberOfRows(in tableView: NSTableView) -> Int {
- return addableAccountTypes.count
- }
-
- func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
- return nil
- }
-}
-
-// MARK: - NSTableViewDelegate
-
-extension AccountsAddViewController: NSTableViewDelegate {
-
- private static let cellIdentifier = NSUserInterfaceItemIdentifier(rawValue: "AccountCell")
-
- func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
-
- if let cell = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "Cell"), owner: nil) as? AccountsAddTableCellView {
-
- cell.accountType = addableAccountTypes[row]
- cell.delegate = self
-
- switch addableAccountTypes[row] {
- case .onMyMac:
- cell.accountNameLabel?.stringValue = Account.defaultLocalAccountName
- cell.accountImageView?.image = AppAssets.accountLocal
- case .cloudKit:
- cell.accountNameLabel?.stringValue = NSLocalizedString("iCloud", comment: "iCloud")
- cell.accountImageView?.image = AppAssets.accountCloudKit
- case .feedbin:
- cell.accountNameLabel?.stringValue = NSLocalizedString("Feedbin", comment: "Feedbin")
- cell.accountImageView?.image = AppAssets.accountFeedbin
- case .feedWrangler:
- cell.accountNameLabel?.stringValue = NSLocalizedString("Feed Wrangler", comment: "Feed Wrangler")
- cell.accountImageView?.image = AppAssets.accountFeedWrangler
- case .freshRSS:
- cell.accountNameLabel?.stringValue = NSLocalizedString("FreshRSS", comment: "FreshRSS")
- cell.accountImageView?.image = AppAssets.accountFreshRSS
- case .feedly:
- cell.accountNameLabel?.stringValue = NSLocalizedString("Feedly", comment: "Feedly")
- cell.accountImageView?.image = AppAssets.accountFeedly
- case .newsBlur:
- cell.accountNameLabel?.stringValue = NSLocalizedString("NewsBlur", comment: "NewsBlur")
- cell.accountImageView?.image = AppAssets.accountNewsBlur
- case .inoreader:
- cell.accountNameLabel?.stringValue = NSLocalizedString("Inoreader", comment: "Inoreader")
- cell.accountImageView?.image = AppAssets.accountInoreader
- case .bazQux:
- cell.accountNameLabel?.stringValue = NSLocalizedString("Bazqux", comment: "Bazqux")
- cell.accountImageView?.image = AppAssets.accountBazQux
- case .theOldReader:
- cell.accountNameLabel?.stringValue = NSLocalizedString("The Old Reader", comment: "The Old Reader")
- cell.accountImageView?.image = AppAssets.accountTheOldReader
- }
- return cell
- }
- return nil
- }
-
-}
-
-// MARK: AccountsAddTableCellViewDelegate
-
-extension AccountsAddViewController: AccountsAddTableCellViewDelegate {
-
- func addAccount(_ accountType: AccountType) {
-
- switch accountType {
- case .onMyMac:
- let accountsAddLocalWindowController = AccountsAddLocalWindowController()
- accountsAddLocalWindowController.runSheetOnWindow(self.view.window!)
- accountsAddWindowController = accountsAddLocalWindowController
-
- case .cloudKit:
- let accountsAddCloudKitWindowController = AccountsAddCloudKitWindowController()
- accountsAddCloudKitWindowController.runSheetOnWindow(self.view.window!) { response in
- if response == NSApplication.ModalResponse.OK {
- self.restrictAccounts()
- self.tableView.reloadData()
- }
- }
- accountsAddWindowController = accountsAddCloudKitWindowController
-
- case .feedbin:
- let accountsFeedbinWindowController = AccountsFeedbinWindowController()
- accountsFeedbinWindowController.runSheetOnWindow(self.view.window!)
- accountsAddWindowController = accountsFeedbinWindowController
-
- case .feedWrangler:
- let accountsFeedWranglerWindowController = AccountsFeedWranglerWindowController()
- accountsFeedWranglerWindowController.runSheetOnWindow(self.view.window!)
- accountsAddWindowController = accountsFeedWranglerWindowController
-
- case .freshRSS:
- let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
- accountsReaderAPIWindowController.accountType = .freshRSS
- accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
- accountsAddWindowController = accountsReaderAPIWindowController
-
- case .feedly:
- let addAccount = OAuthAccountAuthorizationOperation(accountType: .feedly)
- addAccount.delegate = self
- addAccount.presentationAnchor = self.view.window!
- runAwaitingFeedlyLoginAlertModal(forLifetimeOf: addAccount)
- MainThreadOperationQueue.shared.add(addAccount)
-
- case .newsBlur:
- let accountsNewsBlurWindowController = AccountsNewsBlurWindowController()
- accountsNewsBlurWindowController.runSheetOnWindow(self.view.window!)
- accountsAddWindowController = accountsNewsBlurWindowController
-
- case .inoreader:
- let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
- accountsReaderAPIWindowController.accountType = .inoreader
- accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
- accountsAddWindowController = accountsReaderAPIWindowController
-
- case .bazQux:
- let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
- accountsReaderAPIWindowController.accountType = .bazQux
- accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
- accountsAddWindowController = accountsReaderAPIWindowController
-
- case .theOldReader:
- let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
- accountsReaderAPIWindowController.accountType = .theOldReader
- accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
- accountsAddWindowController = accountsReaderAPIWindowController
- }
-
- }
-
- private func runAwaitingFeedlyLoginAlertModal(forLifetimeOf operation: OAuthAccountAuthorizationOperation) {
- let alert = NSAlert()
- alert.alertStyle = .informational
- alert.messageText = NSLocalizedString("Waiting for access to Feedly",
- comment: "Alert title when adding a Feedly account and waiting for authorization from the user.")
-
- alert.informativeText = NSLocalizedString("Your default web browser will open the Feedly login for you to authorize access.",
- comment: "Alert informative text when adding a Feedly account and waiting for authorization from the user.")
-
- alert.addButton(withTitle: NSLocalizedString("Cancel", comment: "Cancel"))
-
- let attachedWindow = self.view.window!
-
- alert.beginSheetModal(for: attachedWindow) { response in
- if response == .alertFirstButtonReturn {
- operation.cancel()
- }
- }
-
- operation.completionBlock = { _ in
- guard alert.window.isVisible else {
- return
- }
- attachedWindow.endSheet(alert.window)
- }
- }
-}
-
-// MARK: OAuthAccountAuthorizationOperationDelegate
-
-extension AccountsAddViewController: OAuthAccountAuthorizationOperationDelegate {
-
- func oauthAccountAuthorizationOperation(_ operation: OAuthAccountAuthorizationOperation, didCreate account: Account) {
- // `OAuthAccountAuthorizationOperation` is using `ASWebAuthenticationSession` which bounces the user
- // to their browser on macOS for authorizing NetNewsWire to access the user's Feedly account.
- // When this authorization is granted, the browser remains the foreground app which is unfortunate
- // because the user probably wants to see the result of authorizing NetNewsWire to act on their behalf.
- NSApp.activate(ignoringOtherApps: true)
-
- account.refreshAll { [weak self] result in
- switch result {
- case .success:
- break
- case .failure(let error):
- self?.presentError(error)
- }
- }
- }
-
- func oauthAccountAuthorizationOperation(_ operation: OAuthAccountAuthorizationOperation, didFailWith error: Error) {
- // `OAuthAccountAuthorizationOperation` is using `ASWebAuthenticationSession` which bounces the user
- // to their browser on macOS for authorizing NetNewsWire to access the user's Feedly account.
- NSApp.activate(ignoringOtherApps: true)
-
- view.window?.presentError(error)
- }
-}
-
-// MARK: Private
-
-private extension AccountsAddViewController {
-
- func restrictAccounts() {
- func removeAccountType(_ accountType: AccountType) {
- if let index = addableAccountTypes.firstIndex(of: accountType) {
- addableAccountTypes.remove(at: index)
- }
- }
-
- if AppDefaults.shared.isDeveloperBuild {
- removeAccountType(.cloudKit)
- removeAccountType(.feedly)
- removeAccountType(.feedWrangler)
- removeAccountType(.inoreader)
- return
- }
-
- if AccountManager.shared.accounts.firstIndex(where: { $0.type == .cloudKit }) != nil {
- removeAccountType(.cloudKit)
- }
- }
-
-}
diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj
index 2d8fcc1a4..6dfaabae5 100644
--- a/NetNewsWire.xcodeproj/project.pbxproj
+++ b/NetNewsWire.xcodeproj/project.pbxproj
@@ -662,9 +662,6 @@
51EF0F7A22771B890050506E /* ColorHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EF0F78227716380050506E /* ColorHash.swift */; };
51EF0F7E2277A57D0050506E /* MasterTimelineAccessibilityCellLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EF0F7D2277A57D0050506E /* MasterTimelineAccessibilityCellLayout.swift */; };
51EF0F802277A8330050506E /* MasterTimelineCellLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EF0F7F2277A8330050506E /* MasterTimelineCellLayout.swift */; };
- 51EF0F8E2279C9260050506E /* AccountsAdd.xib in Resources */ = {isa = PBXBuildFile; fileRef = 51EF0F8D2279C9260050506E /* AccountsAdd.xib */; };
- 51EF0F902279C9500050506E /* AccountsAddViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EF0F8F2279C9500050506E /* AccountsAddViewController.swift */; };
- 51EF0F922279CA620050506E /* AccountsAddTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EF0F912279CA620050506E /* AccountsAddTableCellView.swift */; };
51EFDA1A24E6159C0085C3D6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 849C64671ED37A5D003D8FC0 /* Assets.xcassets */; };
51EFDA1B24E6D16A0085C3D6 /* SafariExt.js in Resources */ = {isa = PBXBuildFile; fileRef = 515D4FCB2325815A00EE1167 /* SafariExt.js */; };
51EFDA1D24E6E27E0085C3D6 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 51EFDA1C24E6E27E0085C3D6 /* icon.icns */; };
@@ -737,7 +734,6 @@
65ED3FCF235DEF6C0081F399 /* TimelineContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8405DD9822153B6B008CE1BF /* TimelineContainerView.swift */; };
65ED3FD0235DEF6C0081F399 /* Author+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A2678B20130ECF00A8D3C0 /* Author+Scriptability.swift */; };
65ED3FD1235DEF6C0081F399 /* PseudoFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84F2D5351FC22FCB00998D64 /* PseudoFeed.swift */; };
- 65ED3FD2235DEF6C0081F399 /* AccountsAddViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EF0F8F2279C9500050506E /* AccountsAddViewController.swift */; };
65ED3FD3235DEF6C0081F399 /* NSScriptCommand+NetNewsWire.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57BE6DF204CD35F00D11AAC /* NSScriptCommand+NetNewsWire.swift */; };
65ED3FD4235DEF6C0081F399 /* Article+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553737C20186C1F006D8857 /* Article+Scriptability.swift */; };
65ED3FD5235DEF6C0081F399 /* SmartFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845EE7C01FC2488C00854A1F /* SmartFeed.swift */; };
@@ -798,7 +794,6 @@
65ED400D235DEF6C0081F399 /* SmartFeedDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84DEE56422C32CA4005FC42C /* SmartFeedDelegate.swift */; };
65ED400E235DEF6C0081F399 /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845213221FCA5B10003B6E93 /* ImageDownloader.swift */; };
65ED400F235DEF6C0081F399 /* LegacyArticleExtractorButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FA73B62332D5F70090D516 /* LegacyArticleExtractorButton.swift */; };
- 65ED4010235DEF6C0081F399 /* AccountsAddTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51EF0F912279CA620050506E /* AccountsAddTableCellView.swift */; };
65ED4011235DEF6C0081F399 /* AddFolderWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97421ED9EAA9007D329B /* AddFolderWindowController.swift */; };
65ED4012235DEF6C0081F399 /* TimelineContainerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8405DDA422168C62008CE1BF /* TimelineContainerViewController.swift */; };
65ED4013235DEF6C0081F399 /* MainWIndowKeyboardHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 844B5B661FEA18E300C7C76A /* MainWIndowKeyboardHandler.swift */; };
@@ -853,7 +848,6 @@
65ED4051235DEF6C0081F399 /* TimelineKeyboardShortcuts.plist in Resources */ = {isa = PBXBuildFile; fileRef = 845479871FEB77C000AD8B59 /* TimelineKeyboardShortcuts.plist */; };
65ED4052235DEF6C0081F399 /* template.html in Resources */ = {isa = PBXBuildFile; fileRef = 848362FE2262A30E00DA1D35 /* template.html */; };
65ED4054235DEF6C0081F399 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 848363062262A3DD00DA1D35 /* Main.storyboard */; };
- 65ED4055235DEF6C0081F399 /* AccountsAdd.xib in Resources */ = {isa = PBXBuildFile; fileRef = 51EF0F8D2279C9260050506E /* AccountsAdd.xib */; };
65ED4056235DEF6C0081F399 /* NetNewsWire.sdef in Resources */ = {isa = PBXBuildFile; fileRef = 84C9FC8A22629E8F00D921D6 /* NetNewsWire.sdef */; };
65ED4057235DEF6C0081F399 /* AccountsDetail.xib in Resources */ = {isa = PBXBuildFile; fileRef = 84C9FC7422629E1200D921D6 /* AccountsDetail.xib */; };
65ED4058235DEF6C0081F399 /* main.js in Resources */ = {isa = PBXBuildFile; fileRef = 517630032336215100E15FFF /* main.js */; };
@@ -1774,9 +1768,6 @@
51EF0F78227716380050506E /* ColorHash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorHash.swift; sourceTree = ""; };
51EF0F7D2277A57D0050506E /* MasterTimelineAccessibilityCellLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MasterTimelineAccessibilityCellLayout.swift; sourceTree = ""; };
51EF0F7F2277A8330050506E /* MasterTimelineCellLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MasterTimelineCellLayout.swift; sourceTree = ""; };
- 51EF0F8D2279C9260050506E /* AccountsAdd.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccountsAdd.xib; sourceTree = ""; };
- 51EF0F8F2279C9500050506E /* AccountsAddViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsAddViewController.swift; sourceTree = ""; };
- 51EF0F912279CA620050506E /* AccountsAddTableCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsAddTableCellView.swift; sourceTree = ""; };
51EFDA1C24E6E27E0085C3D6 /* icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icon.icns; sourceTree = ""; };
51F805D32428499E0022C792 /* NetNewsWire-dev.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NetNewsWire-dev.entitlements"; sourceTree = ""; };
51F805ED24284C1C0022C792 /* NetNewsWire-dev.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "NetNewsWire-dev.entitlements"; sourceTree = ""; };
@@ -3350,9 +3341,6 @@
children = (
178A9F9C2549449F00AB7E9D /* AddAccountsView.swift */,
84C9FC7222629E1200D921D6 /* AccountsPreferencesViewController.swift */,
- 51EF0F8D2279C9260050506E /* AccountsAdd.xib */,
- 51EF0F8F2279C9500050506E /* AccountsAddViewController.swift */,
- 51EF0F912279CA620050506E /* AccountsAddTableCellView.swift */,
84C9FC7422629E1200D921D6 /* AccountsDetail.xib */,
5144EA2E2279FAB600D19003 /* AccountsDetailViewController.swift */,
5144EA50227B8E4500D19003 /* AccountsFeedbin.xib */,
@@ -4193,7 +4181,6 @@
65ED4052235DEF6C0081F399 /* template.html in Resources */,
65ED4054235DEF6C0081F399 /* Main.storyboard in Resources */,
510C43EE243C0973009F70C3 /* ExtensionPointAdd.xib in Resources */,
- 65ED4055235DEF6C0081F399 /* AccountsAdd.xib in Resources */,
65ED4056235DEF6C0081F399 /* NetNewsWire.sdef in Resources */,
65ED4057235DEF6C0081F399 /* AccountsDetail.xib in Resources */,
65ED4058235DEF6C0081F399 /* main.js in Resources */,
@@ -4290,7 +4277,6 @@
845479881FEB77C000AD8B59 /* TimelineKeyboardShortcuts.plist in Resources */,
848362FF2262A30E00DA1D35 /* template.html in Resources */,
848363082262A3DD00DA1D35 /* Main.storyboard in Resources */,
- 51EF0F8E2279C9260050506E /* AccountsAdd.xib in Resources */,
84C9FC8F22629E8F00D921D6 /* NetNewsWire.sdef in Resources */,
84C9FC7D22629E1200D921D6 /* AccountsDetail.xib in Resources */,
517630042336215100E15FFF /* main.js in Resources */,
@@ -4843,7 +4829,6 @@
65ED3FCF235DEF6C0081F399 /* TimelineContainerView.swift in Sources */,
65ED3FD0235DEF6C0081F399 /* Author+Scriptability.swift in Sources */,
65ED3FD1235DEF6C0081F399 /* PseudoFeed.swift in Sources */,
- 65ED3FD2235DEF6C0081F399 /* AccountsAddViewController.swift in Sources */,
65ED3FD3235DEF6C0081F399 /* NSScriptCommand+NetNewsWire.swift in Sources */,
65ED3FD4235DEF6C0081F399 /* Article+Scriptability.swift in Sources */,
515A5172243E802B0089E588 /* ExtensionPointDetailViewController.swift in Sources */,
@@ -4916,7 +4901,6 @@
65ED400D235DEF6C0081F399 /* SmartFeedDelegate.swift in Sources */,
65ED400E235DEF6C0081F399 /* ImageDownloader.swift in Sources */,
65ED400F235DEF6C0081F399 /* LegacyArticleExtractorButton.swift in Sources */,
- 65ED4010235DEF6C0081F399 /* AccountsAddTableCellView.swift in Sources */,
65ED4011235DEF6C0081F399 /* AddFolderWindowController.swift in Sources */,
65ED4012235DEF6C0081F399 /* TimelineContainerViewController.swift in Sources */,
65ED4013235DEF6C0081F399 /* MainWIndowKeyboardHandler.swift in Sources */,
@@ -5204,7 +5188,6 @@
8405DD9922153B6B008CE1BF /* TimelineContainerView.swift in Sources */,
D5A2678C20130ECF00A8D3C0 /* Author+Scriptability.swift in Sources */,
84F2D5371FC22FCC00998D64 /* PseudoFeed.swift in Sources */,
- 51EF0F902279C9500050506E /* AccountsAddViewController.swift in Sources */,
D57BE6E0204CD35F00D11AAC /* NSScriptCommand+NetNewsWire.swift in Sources */,
D553738B20186C20006D8857 /* Article+Scriptability.swift in Sources */,
845EE7C11FC2488C00854A1F /* SmartFeed.swift in Sources */,
@@ -5281,7 +5264,6 @@
84DEE56522C32CA4005FC42C /* SmartFeedDelegate.swift in Sources */,
845213231FCA5B11003B6E93 /* ImageDownloader.swift in Sources */,
51FA73B72332D5F70090D516 /* LegacyArticleExtractorButton.swift in Sources */,
- 51EF0F922279CA620050506E /* AccountsAddTableCellView.swift in Sources */,
849A97431ED9EAA9007D329B /* AddFolderWindowController.swift in Sources */,
8405DDA522168C62008CE1BF /* TimelineContainerViewController.swift in Sources */,
844B5B671FEA18E300C7C76A /* MainWIndowKeyboardHandler.swift in Sources */,