diff --git a/Mac/MainWindow/Sidebar/PasteboardWebFeed.swift b/Mac/MainWindow/Sidebar/PasteboardFeed.swift similarity index 68% rename from Mac/MainWindow/Sidebar/PasteboardWebFeed.swift rename to Mac/MainWindow/Sidebar/PasteboardFeed.swift index c11e3b5b5..2cc5608a5 100644 --- a/Mac/MainWindow/Sidebar/PasteboardWebFeed.swift +++ b/Mac/MainWindow/Sidebar/PasteboardFeed.swift @@ -11,9 +11,9 @@ import Articles import Account import RSCore -typealias PasteboardWebFeedDictionary = [String: String] +typealias PasteboardFeedDictionary = [String: String] -struct PasteboardWebFeed: Hashable { +struct PasteboardFeed: Hashable { fileprivate struct Key { static let url = "URL" @@ -23,13 +23,13 @@ struct PasteboardWebFeed: Hashable { // Internal static let accountID = "accountID" static let accountType = "accountType" - static let webFeedID = "webFeedID" + static let feedID = "feedID" static let editedName = "editedName" static let containerName = "containerName" } let url: String - let webFeedID: String? + let feedID: String? let homePageURL: String? let name: String? let editedName: String? @@ -38,9 +38,9 @@ struct PasteboardWebFeed: Hashable { let containerName: String? let isLocalFeed: Bool - init(url: String, webFeedID: String?, homePageURL: String?, name: String?, editedName: String?, accountID: String?, accountType: AccountType?, containerName: String? = nil) { + init(url: String, feedID: String?, homePageURL: String?, name: String?, editedName: String?, accountID: String?, accountType: AccountType?, containerName: String? = nil) { self.url = url.normalizedURL - self.webFeedID = webFeedID + self.feedID = feedID self.homePageURL = homePageURL?.normalizedURL self.name = name self.editedName = editedName @@ -52,7 +52,7 @@ struct PasteboardWebFeed: Hashable { // MARK: - Reading - init?(dictionary: PasteboardWebFeedDictionary) { + init?(dictionary: PasteboardFeedDictionary) { guard let url = dictionary[Key.url] else { return nil } @@ -60,7 +60,7 @@ struct PasteboardWebFeed: Hashable { let homePageURL = dictionary[Key.homePageURL] let name = dictionary[Key.name] let accountID = dictionary[Key.accountID] - let webFeedID = dictionary[Key.webFeedID] + let feedID = dictionary[Key.feedID] let editedName = dictionary[Key.editedName] var accountType: AccountType? = nil @@ -69,7 +69,7 @@ struct PasteboardWebFeed: Hashable { } let containerName = dictionary[Key.containerName] - self.init(url: url, webFeedID: webFeedID, homePageURL: homePageURL, name: name, editedName: editedName, accountID: accountID, accountType: accountType, containerName: containerName) + self.init(url: url, feedID: feedID, homePageURL: homePageURL, name: name, editedName: editedName, accountID: accountID, accountType: accountType, containerName: containerName) } init?(pasteboardItem: NSPasteboardItem) { @@ -81,7 +81,7 @@ struct PasteboardWebFeed: Hashable { pasteboardType = WebFeedPasteboardWriter.webFeedUTIType } if let foundType = pasteboardType { - if let feedDictionary = pasteboardItem.propertyList(forType: foundType) as? PasteboardWebFeedDictionary { + if let feedDictionary = pasteboardItem.propertyList(forType: foundType) as? PasteboardFeedDictionary { self.init(dictionary: feedDictionary) return } @@ -98,7 +98,7 @@ struct PasteboardWebFeed: Hashable { if let foundType = pasteboardType { if let possibleURLString = pasteboardItem.string(forType: foundType) { if possibleURLString.mayBeURL { - self.init(url: possibleURLString, webFeedID: nil, homePageURL: nil, name: nil, editedName: nil, accountID: nil, accountType: nil) + self.init(url: possibleURLString, feedID: nil, homePageURL: nil, name: nil, editedName: nil, accountID: nil, accountType: nil) return } } @@ -107,18 +107,18 @@ struct PasteboardWebFeed: Hashable { return nil } - static func pasteboardFeeds(with pasteboard: NSPasteboard) -> Set? { + static func pasteboardFeeds(with pasteboard: NSPasteboard) -> Set? { guard let items = pasteboard.pasteboardItems else { return nil } - let webFeeds = items.compactMap { PasteboardWebFeed(pasteboardItem: $0) } + let webFeeds = items.compactMap { PasteboardFeed(pasteboardItem: $0) } return webFeeds.isEmpty ? nil : Set(webFeeds) } // MARK: - Writing - func exportDictionary() -> PasteboardWebFeedDictionary { - var d = PasteboardWebFeedDictionary() + func exportDictionary() -> PasteboardFeedDictionary { + var d = PasteboardFeedDictionary() d[Key.url] = url d[Key.homePageURL] = homePageURL ?? "" if let nameForDisplay = editedName ?? name { @@ -127,27 +127,27 @@ struct PasteboardWebFeed: Hashable { return d } - func internalDictionary() -> PasteboardWebFeedDictionary { - var d = PasteboardWebFeedDictionary() - d[PasteboardWebFeed.Key.webFeedID] = webFeedID - d[PasteboardWebFeed.Key.url] = url + func internalDictionary() -> PasteboardFeedDictionary { + var d = PasteboardFeedDictionary() + d[PasteboardFeed.Key.feedID] = feedID + d[PasteboardFeed.Key.url] = url if let homePageURL = homePageURL { - d[PasteboardWebFeed.Key.homePageURL] = homePageURL + d[PasteboardFeed.Key.homePageURL] = homePageURL } if let name = name { - d[PasteboardWebFeed.Key.name] = name + d[PasteboardFeed.Key.name] = name } if let editedName = editedName { - d[PasteboardWebFeed.Key.editedName] = editedName + d[PasteboardFeed.Key.editedName] = editedName } if let accountID = accountID { - d[PasteboardWebFeed.Key.accountID] = accountID + d[PasteboardFeed.Key.accountID] = accountID } if let accountType = accountType { - d[PasteboardWebFeed.Key.accountType] = String(accountType.rawValue) + d[PasteboardFeed.Key.accountType] = String(accountType.rawValue) } if let containerName = containerName { - d[PasteboardWebFeed.Key.containerName] = containerName + d[PasteboardFeed.Key.containerName] = containerName } return d } @@ -204,20 +204,20 @@ extension WebFeed: PasteboardWriterOwner { private extension WebFeedPasteboardWriter { - var pasteboardFeed: PasteboardWebFeed { - return PasteboardWebFeed(url: webFeed.url, webFeedID: webFeed.webFeedID, homePageURL: webFeed.homePageURL, name: webFeed.name, editedName: webFeed.editedName, accountID: webFeed.account?.accountID, accountType: webFeed.account?.type) + var pasteboardFeed: PasteboardFeed { + return PasteboardFeed(url: webFeed.url, feedID: webFeed.webFeedID, homePageURL: webFeed.homePageURL, name: webFeed.name, editedName: webFeed.editedName, accountID: webFeed.account?.accountID, accountType: webFeed.account?.type) } - var exportDictionary: PasteboardWebFeedDictionary { + var exportDictionary: PasteboardFeedDictionary { return pasteboardFeed.exportDictionary() } - var internalDictionary: PasteboardWebFeedDictionary { + var internalDictionary: PasteboardFeedDictionary { var dictionary = pasteboardFeed.internalDictionary() - if dictionary[PasteboardWebFeed.Key.containerName] == nil, + if dictionary[PasteboardFeed.Key.containerName] == nil, case let .folder(accountID, folderName) = containerID { - assert(accountID == dictionary[PasteboardWebFeed.Key.accountID], "unexpected: container account doesn't match account of contained item") - dictionary[PasteboardWebFeed.Key.containerName] = folderName + assert(accountID == dictionary[PasteboardFeed.Key.accountID], "unexpected: container account doesn't match account of contained item") + dictionary[PasteboardFeed.Key.containerName] = folderName } return dictionary } diff --git a/Mac/MainWindow/Sidebar/PasteboardFolder.swift b/Mac/MainWindow/Sidebar/PasteboardFolder.swift index 60c42154c..2a7e14eb8 100644 --- a/Mac/MainWindow/Sidebar/PasteboardFolder.swift +++ b/Mac/MainWindow/Sidebar/PasteboardFolder.swift @@ -52,7 +52,7 @@ struct PasteboardFolder: Hashable { } if let foundType = pasteboardType { - if let folderDictionary = pasteboardItem.propertyList(forType: foundType) as? PasteboardWebFeedDictionary { + if let folderDictionary = pasteboardItem.propertyList(forType: foundType) as? PasteboardFeedDictionary { self.init(dictionary: folderDictionary) return } @@ -72,7 +72,7 @@ struct PasteboardFolder: Hashable { // MARK: - Writing func internalDictionary() -> PasteboardFolderDictionary { - var d = PasteboardWebFeedDictionary() + var d = PasteboardFeedDictionary() d[PasteboardFolder.Key.name] = name if let folderID = folderID { d[PasteboardFolder.Key.folderID] = folderID @@ -131,7 +131,7 @@ private extension FolderPasteboardWriter { return PasteboardFolder(name: folder.name ?? "", folderID: String(folder.folderID), accountID: folder.account?.accountID) } - var internalDictionary: PasteboardWebFeedDictionary { + var internalDictionary: PasteboardFeedDictionary { return pasteboardFolder.internalDictionary() } } diff --git a/Mac/MainWindow/Sidebar/SidebarOutlineDataSource.swift b/Mac/MainWindow/Sidebar/SidebarOutlineDataSource.swift index a4fb7b5e9..4ee42ad4e 100644 --- a/Mac/MainWindow/Sidebar/SidebarOutlineDataSource.swift +++ b/Mac/MainWindow/Sidebar/SidebarOutlineDataSource.swift @@ -48,7 +48,7 @@ import Account } // WebFeed objects don't have knowledge of their parent so we inject parent container information - // into WebFeedPasteboardWriter instance and it adds this field to the PasteboardWebFeed objects it writes. + // into WebFeedPasteboardWriter instance and it adds this field to the PasteboardFeed objects it writes. // Add similar to FolderPasteboardWriter if/when we allow sub-folders if let feedWriter = pasteboardWriter as? WebFeedPasteboardWriter { if let parentContainerID = (node.parent?.representedObject as? Folder)?.containerID { @@ -63,7 +63,7 @@ import Account func outlineView(_ outlineView: NSOutlineView, validateDrop info: NSDraggingInfo, proposedItem item: Any?, proposedChildIndex index: Int) -> NSDragOperation { let draggedFolders = PasteboardFolder.pasteboardFolders(with: info.draggingPasteboard) - let draggedFeeds = PasteboardWebFeed.pasteboardFeeds(with: info.draggingPasteboard) + let draggedFeeds = PasteboardFeed.pasteboardFeeds(with: info.draggingPasteboard) if (draggedFolders == nil && draggedFeeds == nil) || (draggedFolders != nil && draggedFeeds != nil) { return SidebarOutlineDataSource.dragOperationNone } @@ -99,7 +99,7 @@ import Account func outlineView(_ outlineView: NSOutlineView, acceptDrop info: NSDraggingInfo, item: Any?, childIndex index: Int) -> Bool { let draggedFolders = PasteboardFolder.pasteboardFolders(with: info.draggingPasteboard) - let draggedFeeds = PasteboardWebFeed.pasteboardFeeds(with: info.draggingPasteboard) + let draggedFeeds = PasteboardFeed.pasteboardFeeds(with: info.draggingPasteboard) if (draggedFolders == nil && draggedFeeds == nil) || (draggedFolders != nil && draggedFeeds != nil) { return false } @@ -153,7 +153,7 @@ private extension SidebarOutlineDataSource { case empty, singleLocal, singleNonLocal, multipleLocal, multipleNonLocal, mixed } - func draggedFeedContentsType(_ draggedFeeds: Set) -> DraggedFeedsContentsType { + func draggedFeedContentsType(_ draggedFeeds: Set) -> DraggedFeedsContentsType { if draggedFeeds.isEmpty { return .empty } @@ -181,14 +181,14 @@ private extension SidebarOutlineDataSource { return .multipleNonLocal } - func singleNonLocalFeed(from feeds: Set) -> PasteboardWebFeed? { + func singleNonLocalFeed(from feeds: Set) -> PasteboardFeed? { guard feeds.count == 1, let feed = feeds.first else { return nil } return feed.isLocalFeed ? nil : feed } - func validateSingleNonLocalFeedDrop(_ outlineView: NSOutlineView, _ draggedFeed: PasteboardWebFeed, _ parentNode: Node, _ index: Int) -> NSDragOperation { + func validateSingleNonLocalFeedDrop(_ outlineView: NSOutlineView, _ draggedFeed: PasteboardFeed, _ parentNode: Node, _ index: Int) -> NSDragOperation { // A non-local feed should always drag on to an Account or Folder node, with NSOutlineViewDropOnItemIndex — since we don’t know where it would sort till we read the feed. guard let dropTargetNode = ancestorThatCanAcceptNonLocalFeed(parentNode) else { return SidebarOutlineDataSource.dragOperationNone @@ -199,7 +199,7 @@ private extension SidebarOutlineDataSource { return .copy } - func validateSingleLocalFeedDrop(_ outlineView: NSOutlineView, _ draggedFeed: PasteboardWebFeed, _ parentNode: Node, _ index: Int) -> NSDragOperation { + func validateSingleLocalFeedDrop(_ outlineView: NSOutlineView, _ draggedFeed: PasteboardFeed, _ parentNode: Node, _ index: Int) -> NSDragOperation { // A local feed should always drag on to an Account or Folder node, and we can provide an index. guard let dropTargetNode = ancestorThatCanAcceptLocalFeed(parentNode) else { return SidebarOutlineDataSource.dragOperationNone @@ -220,7 +220,7 @@ private extension SidebarOutlineDataSource { return localDragOperation(parentNode: parentNode, Set([draggedFeed])) } - func validateLocalFeedsDrop(_ outlineView: NSOutlineView, _ draggedFeeds: Set, _ parentNode: Node, _ index: Int) -> NSDragOperation { + func validateLocalFeedsDrop(_ outlineView: NSOutlineView, _ draggedFeeds: Set, _ parentNode: Node, _ index: Int) -> NSDragOperation { // Local feeds should always drag on to an Account or Folder node, and index should be NSOutlineViewDropOnItemIndex since we can’t provide multiple indexes. guard let dropTargetNode = ancestorThatCanAcceptLocalFeed(parentNode) else { return SidebarOutlineDataSource.dragOperationNone @@ -237,7 +237,7 @@ private extension SidebarOutlineDataSource { return localDragOperation(parentNode: parentNode, draggedFeeds) } - func localDragOperation(parentNode: Node, _ draggedFeeds: Set)-> NSDragOperation { + func localDragOperation(parentNode: Node, _ draggedFeeds: Set)-> NSDragOperation { guard let firstDraggedFeed = draggedFeeds.first else { return .move } if sameAccount(firstDraggedFeed, parentNode) { if NSApplication.shared.currentEvent?.modifierFlags.contains(.option) ?? false { @@ -365,7 +365,7 @@ private extension SidebarOutlineDataSource { } } - func acceptLocalFeedsDrop(_ outlineView: NSOutlineView, _ draggedFeeds: Set, _ parentNode: Node, _ index: Int) -> Bool { + func acceptLocalFeedsDrop(_ outlineView: NSOutlineView, _ draggedFeeds: Set, _ parentNode: Node, _ index: Int) -> Bool { guard draggedFeeds.isEmpty == false else { return false } @@ -373,7 +373,7 @@ private extension SidebarOutlineDataSource { draggedFeeds.forEach { pasteboardFeed in guard let sourceAccountID = pasteboardFeed.accountID, let sourceAccount = AccountManager.shared.existingAccount(with: sourceAccountID), - let webFeedID = pasteboardFeed.webFeedID, + let webFeedID = pasteboardFeed.feedID, let feed = sourceAccount.existingWebFeed(withWebFeedID: webFeedID), let destinationContainer = parentNode.representedObject as? Container else { @@ -492,7 +492,7 @@ private extension SidebarOutlineDataSource { return true } - @MainActor func acceptSingleNonLocalFeedDrop(_ outlineView: NSOutlineView, _ draggedFeed: PasteboardWebFeed, _ parentNode: Node, _ index: Int) -> Bool { + @MainActor func acceptSingleNonLocalFeedDrop(_ outlineView: NSOutlineView, _ draggedFeed: PasteboardFeed, _ parentNode: Node, _ index: Int) -> Bool { guard nodeIsDropTarget(parentNode), index == NSOutlineViewDropOnItemIndex else { return false } @@ -509,11 +509,11 @@ private extension SidebarOutlineDataSource { return true } - func nodeHasChildRepresentingDraggedFeed(_ parentNode: Node, _ draggedFeed: PasteboardWebFeed) -> Bool { + func nodeHasChildRepresentingDraggedFeed(_ parentNode: Node, _ draggedFeed: PasteboardFeed) -> Bool { return nodeHasChildRepresentingAnyDraggedFeed(parentNode, Set([draggedFeed])) } - func nodeRepresentsAnyDraggedFeed(_ node: Node, _ draggedFeeds: Set) -> Bool { + func nodeRepresentsAnyDraggedFeed(_ node: Node, _ draggedFeeds: Set) -> Bool { guard let feed = node.representedObject as? WebFeed else { return false } @@ -525,8 +525,8 @@ private extension SidebarOutlineDataSource { return false } - func sameAccount(_ pasteboardWebFeed: PasteboardWebFeed, _ parentNode: Node) -> Bool { - if let accountID = pasteboardWebFeed.accountID { + func sameAccount(_ pasteboardFeed: PasteboardFeed, _ parentNode: Node) -> Bool { + if let accountID = pasteboardFeed.accountID { return sameAccount(accountID, parentNode) } return false @@ -565,7 +565,7 @@ private extension SidebarOutlineDataSource { return nodeAccount(node)?.accountID } - func nodeHasChildRepresentingAnyDraggedFeed(_ parentNode: Node, _ draggedFeeds: Set) -> Bool { + func nodeHasChildRepresentingAnyDraggedFeed(_ parentNode: Node, _ draggedFeeds: Set) -> Bool { for node in parentNode.childNodes { if nodeRepresentsAnyDraggedFeed(node, draggedFeeds) { return true @@ -574,11 +574,11 @@ private extension SidebarOutlineDataSource { return false } - func violatesAccountSpecificBehavior(_ dropTargetNode: Node, _ draggedFeed: PasteboardWebFeed) -> Bool { + func violatesAccountSpecificBehavior(_ dropTargetNode: Node, _ draggedFeed: PasteboardFeed) -> Bool { return violatesAccountSpecificBehavior(dropTargetNode, Set([draggedFeed])) } - func violatesAccountSpecificBehavior(_ dropTargetNode: Node, _ draggedFeeds: Set) -> Bool { + func violatesAccountSpecificBehavior(_ dropTargetNode: Node, _ draggedFeeds: Set) -> Bool { if violatesDisallowFeedInRootFolder(dropTargetNode) { return true } @@ -606,7 +606,7 @@ private extension SidebarOutlineDataSource { return false } - func violatesDisallowFeedCopyInRootFolder(_ dropTargetNode: Node, _ draggedFeeds: Set) -> Bool { + func violatesDisallowFeedCopyInRootFolder(_ dropTargetNode: Node, _ draggedFeeds: Set) -> Bool { guard let dropTargetAccount = nodeAccount(dropTargetNode), dropTargetAccount.behaviors.contains(.disallowFeedCopyInRootFolder) else { return false } @@ -624,7 +624,7 @@ private extension SidebarOutlineDataSource { return false } - func violatesDisallowFeedInMultipleFolders(_ dropTargetNode: Node, _ draggedFeeds: Set) -> Bool { + func violatesDisallowFeedInMultipleFolders(_ dropTargetNode: Node, _ draggedFeeds: Set) -> Bool { guard let dropTargetAccount = nodeAccount(dropTargetNode), dropTargetAccount.behaviors.contains(.disallowFeedInMultipleFolders) else { return false } @@ -644,7 +644,7 @@ private extension SidebarOutlineDataSource { return false } - func indexWhereDraggedFeedWouldAppear(_ parentNode: Node, _ draggedFeed: PasteboardWebFeed) -> Int { + func indexWhereDraggedFeedWouldAppear(_ parentNode: Node, _ draggedFeed: PasteboardFeed) -> Int { let draggedFeedWrapper = PasteboardFeedObjectWrapper(pasteboardFeed: draggedFeed) let draggedFeedNode = Node(representedObject: draggedFeedWrapper, parent: nil) let nodes = parentNode.childNodes + [draggedFeedNode] @@ -673,9 +673,9 @@ final class PasteboardFeedObjectWrapper: DisplayNameProvider { var nameForDisplay: String { return pasteboardFeed.editedName ?? pasteboardFeed.name ?? "" } - let pasteboardFeed: PasteboardWebFeed + let pasteboardFeed: PasteboardFeed - init(pasteboardFeed: PasteboardWebFeed) { + init(pasteboardFeed: PasteboardFeed) { self.pasteboardFeed = pasteboardFeed } } diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index f4c263a58..460781212 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -511,7 +511,7 @@ 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 */; }; - 65ED4014235DEF6C0081F399 /* PasteboardWebFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848D578D21543519005FFAD5 /* PasteboardWebFeed.swift */; }; + 65ED4014235DEF6C0081F399 /* PasteboardFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848D578D21543519005FFAD5 /* PasteboardFeed.swift */; }; 65ED4015235DEF6C0081F399 /* AccountsDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5144EA2E2279FAB600D19003 /* AccountsDetailViewController.swift */; }; 65ED4016235DEF6C0081F399 /* DetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A977E1ED9EC42007D329B /* DetailViewController.swift */; }; 65ED4017235DEF6C0081F399 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C9FC6622629B3900D921D6 /* AppDelegate.swift */; }; @@ -633,7 +633,7 @@ 8483630B2262A3F000DA1D35 /* RenameSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 848363092262A3F000DA1D35 /* RenameSheet.xib */; }; 8483630E2262A3FE00DA1D35 /* MainWindow.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8483630C2262A3FE00DA1D35 /* MainWindow.storyboard */; }; 848B937221C8C5540038DC0D /* CrashReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848B937121C8C5540038DC0D /* CrashReporter.swift */; }; - 848D578E21543519005FFAD5 /* PasteboardWebFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848D578D21543519005FFAD5 /* PasteboardWebFeed.swift */; }; + 848D578E21543519005FFAD5 /* PasteboardFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848D578D21543519005FFAD5 /* PasteboardFeed.swift */; }; 848F6AE51FC29CFB002D422E /* FaviconDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848F6AE41FC29CFA002D422E /* FaviconDownloader.swift */; }; 849A97431ED9EAA9007D329B /* AddFolderWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97421ED9EAA9007D329B /* AddFolderWindowController.swift */; }; 849A97531ED9EAC0007D329B /* AddFeedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97511ED9EAC0007D329B /* AddFeedController.swift */; }; @@ -1383,7 +1383,7 @@ 8483630A2262A3F000DA1D35 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Mac/Base.lproj/RenameSheet.xib; sourceTree = SOURCE_ROOT; }; 8483630D2262A3FE00DA1D35 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Mac/Base.lproj/MainWindow.storyboard; sourceTree = SOURCE_ROOT; }; 848B937121C8C5540038DC0D /* CrashReporter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CrashReporter.swift; sourceTree = ""; }; - 848D578D21543519005FFAD5 /* PasteboardWebFeed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasteboardWebFeed.swift; sourceTree = ""; }; + 848D578D21543519005FFAD5 /* PasteboardFeed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasteboardFeed.swift; sourceTree = ""; }; 848F6AE41FC29CFA002D422E /* FaviconDownloader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FaviconDownloader.swift; sourceTree = ""; }; 849A97421ED9EAA9007D329B /* AddFolderWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddFolderWindowController.swift; sourceTree = ""; }; 849A97511ED9EAC0007D329B /* AddFeedController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AddFeedController.swift; path = AddFeed/AddFeedController.swift; sourceTree = ""; }; @@ -2414,7 +2414,7 @@ isa = PBXGroup; children = ( 84AD1EA92031617300BC20B7 /* PasteboardFolder.swift */, - 848D578D21543519005FFAD5 /* PasteboardWebFeed.swift */, + 848D578D21543519005FFAD5 /* PasteboardFeed.swift */, 51868BF0254386630011A17B /* SidebarDeleteItemsAlert.swift */, 84AD1EBB2032AF5C00BC20B7 /* SidebarOutlineDataSource.swift */, 849A97601ED9EB96007D329B /* SidebarOutlineView.swift */, @@ -4011,7 +4011,7 @@ 65ED4011235DEF6C0081F399 /* AddFolderWindowController.swift in Sources */, 65ED4012235DEF6C0081F399 /* TimelineContainerViewController.swift in Sources */, 65ED4013235DEF6C0081F399 /* MainWIndowKeyboardHandler.swift in Sources */, - 65ED4014235DEF6C0081F399 /* PasteboardWebFeed.swift in Sources */, + 65ED4014235DEF6C0081F399 /* PasteboardFeed.swift in Sources */, 510C417B24E5D1AE008226FD /* ExtensionContainersFile.swift in Sources */, 519279F928E23F5F000AE856 /* NSEvent-Extensions.swift in Sources */, 65ED4015235DEF6C0081F399 /* AccountsDetailViewController.swift in Sources */, @@ -4379,7 +4379,7 @@ 849A97431ED9EAA9007D329B /* AddFolderWindowController.swift in Sources */, 8405DDA522168C62008CE1BF /* TimelineContainerViewController.swift in Sources */, 844B5B671FEA18E300C7C76A /* MainWIndowKeyboardHandler.swift in Sources */, - 848D578E21543519005FFAD5 /* PasteboardWebFeed.swift in Sources */, + 848D578E21543519005FFAD5 /* PasteboardFeed.swift in Sources */, 5144EA2F2279FAB600D19003 /* AccountsDetailViewController.swift in Sources */, 849A97801ED9EC42007D329B /* DetailViewController.swift in Sources */, 173A64172547BE0900267F6E /* AccountType+Helpers.swift in Sources */,