diff --git a/Mac/MainWindow/NNW3/NNW3Document.swift b/Mac/MainWindow/NNW3/NNW3Document.swift index f9bdcacc2..b90396c7b 100644 --- a/Mac/MainWindow/NNW3/NNW3Document.swift +++ b/Mac/MainWindow/NNW3/NNW3Document.swift @@ -66,7 +66,7 @@ private struct NNW3Folder { private let title: String? private let children: [OPMLRepresentable]? - + init(plist: [String: Any]) { self.title = plist["name"] as? String guard let childrenArray = plist["childrenArray"] as? [[String: Any]] else { @@ -75,16 +75,20 @@ private struct NNW3Folder { } self.children = NNW3Folder.itemsWithPlist(plist: childrenArray) } - + static func itemsWithPlist(plist: [[String: Any]]) -> [OPMLRepresentable]? { // Also used by NNW3Document. var items = [OPMLRepresentable]() - for child in plist { + plist.forEach { child in if child["isContainer"] as? Bool ?? false { items.append(NNW3Folder(plist: child)) - } else { - items.append(NNW3Feed(plist: child)) + return } + if child["isScript"] as? Bool ?? false { + // Ignore script feeds. + return + } + items.append(NNW3Feed(plist: child)) } return items.isEmpty ? nil : items } diff --git a/Mac/MainWindow/Sidebar/SidebarViewController.swift b/Mac/MainWindow/Sidebar/SidebarViewController.swift index a14fe0dba..d388bf811 100644 --- a/Mac/MainWindow/Sidebar/SidebarViewController.swift +++ b/Mac/MainWindow/Sidebar/SidebarViewController.swift @@ -75,6 +75,10 @@ protocol SidebarDelegate: class { } row += 1 } + + DispatchQueue.main.async { + self.outlineView.window?.makeFirstResponder(self.outlineView) + } } // MARK: - Notifications diff --git a/Mac/MainWindow/Timeline/Cell/SingleLineTextFieldSizer.swift b/Mac/MainWindow/Timeline/Cell/SingleLineTextFieldSizer.swift index ed18581e9..e40db7235 100644 --- a/Mac/MainWindow/Timeline/Cell/SingleLineTextFieldSizer.swift +++ b/Mac/MainWindow/Timeline/Cell/SingleLineTextFieldSizer.swift @@ -53,7 +53,7 @@ final class SingleLineTextFieldSizer { // that members of such a dictionary were mutated after insertion. // We use just an array of sizers now — which is totally fine, // because there’s only going to be like three of them. - if let cachedSizer = sizers.firstElementPassingTest({ $0.font == font }) { + if let cachedSizer = sizers.first(where: { $0.font == font }) { return cachedSizer } diff --git a/submodules/RSCore b/submodules/RSCore index 34e67f8b5..4a90ca588 160000 --- a/submodules/RSCore +++ b/submodules/RSCore @@ -1 +1 @@ -Subproject commit 34e67f8b5f566c29b60bbf6d31331334da0711fe +Subproject commit 4a90ca5888047110ac8cb7083ca6a0b6cf4dcb9c