diff --git a/Mac/MainWindow/Timeline/TimelineViewController.swift b/Mac/MainWindow/Timeline/TimelineViewController.swift index 2dce19956..620faef7f 100644 --- a/Mac/MainWindow/Timeline/TimelineViewController.swift +++ b/Mac/MainWindow/Timeline/TimelineViewController.swift @@ -287,8 +287,8 @@ final class TimelineViewController: NSViewController, UndoableCommandRunner, Unr } for i in 0.. IconImage? { - if let smartFeed = SmartFeedsController.shared.find(by: feedID) { + func imageFor(_ sidebarItemID: SidebarItemIdentifier) -> IconImage? { + if let smartFeed = SmartFeedsController.shared.find(by: sidebarItemID) { return imageForFeed(smartFeed) } - if let feed = AccountManager.shared.existingSidebarItem(with: feedID) { + if let feed = AccountManager.shared.existingSidebarItem(with: sidebarItemID) { return imageForFeed(feed) } return nil @@ -69,41 +69,41 @@ class IconImageCache { private extension IconImageCache { - func imageForSmartFeed(_ smartFeed: PseudoFeed, _ feedID: SidebarItemIdentifier) -> IconImage? { - if let iconImage = smartFeedIconImageCache[feedID] { + func imageForSmartFeed(_ smartFeed: PseudoFeed, _ sidebarItemID: SidebarItemIdentifier) -> IconImage? { + if let iconImage = smartFeedIconImageCache[sidebarItemID] { return iconImage } if let iconImage = smartFeed.smallIcon { - smartFeedIconImageCache[feedID] = iconImage + smartFeedIconImageCache[sidebarItemID] = iconImage return iconImage } return nil } - func imageForFeed(_ feed: Feed, _ feedID: SidebarItemIdentifier) -> IconImage? { - if let iconImage = feedIconImageCache[feedID] { + func imageForFeed(_ feed: Feed, _ sidebarItemID: SidebarItemIdentifier) -> IconImage? { + if let iconImage = feedIconImageCache[sidebarItemID] { return iconImage } if let iconImage = appDelegate.feedIconDownloader.icon(for: feed) { - feedIconImageCache[feedID] = iconImage + feedIconImageCache[sidebarItemID] = iconImage return iconImage } - if let faviconImage = faviconImageCache[feedID] { + if let faviconImage = faviconImageCache[sidebarItemID] { return faviconImage } if let faviconImage = appDelegate.faviconDownloader.faviconAsIcon(for: feed) { - faviconImageCache[feedID] = faviconImage + faviconImageCache[sidebarItemID] = faviconImage return faviconImage } return nil } - func imageForSmallIconProvider(_ provider: SmallIconProvider, _ feedID: SidebarItemIdentifier) -> IconImage? { - if let iconImage = smallIconImageCache[feedID] { + func imageForSmallIconProvider(_ provider: SmallIconProvider, _ sidebarItemID: SidebarItemIdentifier) -> IconImage? { + if let iconImage = smallIconImageCache[sidebarItemID] { return iconImage } if let iconImage = provider.smallIcon { - smallIconImageCache[feedID] = iconImage + smallIconImageCache[sidebarItemID] = iconImage return iconImage } return nil diff --git a/Shared/Tree/FeedTreeControllerDelegate.swift b/Shared/Tree/FeedTreeControllerDelegate.swift index 0874f46e2..435d40e71 100644 --- a/Shared/Tree/FeedTreeControllerDelegate.swift +++ b/Shared/Tree/FeedTreeControllerDelegate.swift @@ -16,8 +16,8 @@ final class FeedTreeControllerDelegate: TreeControllerDelegate { private var filterExceptions = Set() var isReadFiltered = false - func addFilterException(_ feedID: SidebarItemIdentifier) { - filterExceptions.insert(feedID) + func addFilterException(_ sidebarItemID: SidebarItemIdentifier) { + filterExceptions.insert(sidebarItemID) } func resetFilterExceptions() { diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index aa48834ef..775cf9af3 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -33,15 +33,15 @@ enum ShowFeedName { struct FeedNode: Hashable { var node: Node - var feedID: SidebarItemIdentifier + var sidebarItemID: SidebarItemIdentifier init(_ node: Node) { self.node = node - self.feedID = (node.representedObject as! SidebarItem).sidebarItemID! + self.sidebarItemID = (node.representedObject as! SidebarItem).sidebarItemID! } func hash(into hasher: inout Hasher) { - hasher.combine(feedID) + hasher.combine(sidebarItemID) } } @@ -355,8 +355,8 @@ class SceneCoordinator: NSObject, UndoableCommandRunner { if let readArticlesFilterState = windowState[UserInfoKey.readArticlesFilterState] as? [[AnyHashable: AnyHashable]: Bool] { for key in readArticlesFilterState.keys { - if let feedIdentifier = SidebarItemIdentifier(userInfo: key) { - readFilterEnabledTable[feedIdentifier] = readArticlesFilterState[key] + if let sidebarItemID = SidebarItemIdentifier(userInfo: key) { + readFilterEnabledTable[sidebarItemID] = readArticlesFilterState[key] } } } @@ -2209,16 +2209,16 @@ private extension SceneCoordinator { func handleSelectFeed(_ userInfo: [AnyHashable : Any]?) { guard let userInfo = userInfo, let feedIdentifierUserInfo = userInfo[UserInfoKey.feedIdentifier] as? [AnyHashable : AnyHashable], - let feedIdentifier = SidebarItemIdentifier(userInfo: feedIdentifierUserInfo) else { + let sidebarItemID = SidebarItemIdentifier(userInfo: feedIdentifierUserInfo) else { return } - treeControllerDelegate.addFilterException(feedIdentifier) + treeControllerDelegate.addFilterException(sidebarItemID) - switch feedIdentifier { + switch sidebarItemID { case .smartFeed: - guard let smartFeed = SmartFeedsController.shared.find(by: feedIdentifier) else { return } + guard let smartFeed = SmartFeedsController.shared.find(by: sidebarItemID) else { return } markExpanded(SmartFeedsController.shared) rebuildBackingStores(initialLoad: true, completion: { @@ -2294,29 +2294,29 @@ private extension SceneCoordinator { func restoreFeedSelection(_ userInfo: [AnyHashable : Any], accountID: String, feedID: String, articleID: String) -> Bool { guard let feedIdentifierUserInfo = userInfo[UserInfoKey.feedIdentifier] as? [AnyHashable : AnyHashable], - let feedIdentifier = SidebarItemIdentifier(userInfo: feedIdentifierUserInfo), + let sidebarItemID = SidebarItemIdentifier(userInfo: feedIdentifierUserInfo), let isShowingExtractedArticle = userInfo[UserInfoKey.isShowingExtractedArticle] as? Bool, let articleWindowScrollY = userInfo[UserInfoKey.articleWindowScrollY] as? Int else { return false } - switch feedIdentifier { + switch sidebarItemID { case .script: return false case .smartFeed, .folder: - let found = selectFeedAndArticle(feedIdentifier: feedIdentifier, articleID: articleID, isShowingExtractedArticle: isShowingExtractedArticle, articleWindowScrollY: articleWindowScrollY) + let found = selectFeedAndArticle(sidebarItemID: sidebarItemID, articleID: articleID, isShowingExtractedArticle: isShowingExtractedArticle, articleWindowScrollY: articleWindowScrollY) if found { - treeControllerDelegate.addFilterException(feedIdentifier) + treeControllerDelegate.addFilterException(sidebarItemID) } return found case .feed: - let found = selectFeedAndArticle(feedIdentifier: feedIdentifier, articleID: articleID, isShowingExtractedArticle: isShowingExtractedArticle, articleWindowScrollY: articleWindowScrollY) + let found = selectFeedAndArticle(sidebarItemID: sidebarItemID, articleID: articleID, isShowingExtractedArticle: isShowingExtractedArticle, articleWindowScrollY: articleWindowScrollY) if found { - treeControllerDelegate.addFilterException(feedIdentifier) - if let feedNode = nodeFor(sidebarItemID: feedIdentifier), let folder = feedNode.parent?.representedObject as? Folder, let folderFeedID = folder.sidebarItemID { + treeControllerDelegate.addFilterException(sidebarItemID) + if let feedNode = nodeFor(sidebarItemID: sidebarItemID), let folder = feedNode.parent?.representedObject as? Folder, let folderFeedID = folder.sidebarItemID { treeControllerDelegate.addFilterException(folderFeedID) } } @@ -2352,8 +2352,8 @@ private extension SceneCoordinator { return nil } - func selectFeedAndArticle(feedIdentifier: SidebarItemIdentifier, articleID: String, isShowingExtractedArticle: Bool, articleWindowScrollY: Int) -> Bool { - guard let feedNode = nodeFor(sidebarItemID: feedIdentifier), let feedIndexPath = indexPathFor(feedNode) else { return false } + func selectFeedAndArticle(sidebarItemID: SidebarItemIdentifier, articleID: String, isShowingExtractedArticle: Bool, articleWindowScrollY: Int) -> Bool { + guard let feedNode = nodeFor(sidebarItemID: sidebarItemID), let feedIndexPath = indexPathFor(feedNode) else { return false } selectFeed(indexPath: feedIndexPath) { self.selectArticleInCurrentFeed(articleID, isShowingExtractedArticle: isShowingExtractedArticle, articleWindowScrollY: articleWindowScrollY)