mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Fix typos.
This commit is contained in:
@@ -149,7 +149,7 @@ struct AppAssets {
|
||||
if #available(macOS 11.0, *) {
|
||||
let image = NSImage(systemSymbolName: "folder", accessibilityDescription: nil)!
|
||||
let preferredColor = NSColor(named: "AccentColor")!
|
||||
return IconImage(image, isSymbol: true, isBackgroundSupressed: true, preferredColor: preferredColor.cgColor)
|
||||
return IconImage(image, isSymbol: true, isBackgroundSuppressed: true, preferredColor: preferredColor.cgColor)
|
||||
} else {
|
||||
return IconImage(RSImage(named: NSImage.folderName)!)
|
||||
}
|
||||
@@ -209,7 +209,7 @@ struct AppAssets {
|
||||
}()
|
||||
|
||||
static var searchFeedImage: IconImage = {
|
||||
return IconImage(RSImage(named: NSImage.smartBadgeTemplateName)!, isSymbol: true, isBackgroundSupressed: true)
|
||||
return IconImage(RSImage(named: NSImage.smartBadgeTemplateName)!, isSymbol: true, isBackgroundSuppressed: true)
|
||||
}()
|
||||
|
||||
@available(macOS 11.0, *)
|
||||
@@ -236,9 +236,9 @@ struct AppAssets {
|
||||
if #available(macOS 11.0, *) {
|
||||
let image = NSImage(systemSymbolName: "star.fill", accessibilityDescription: nil)!
|
||||
let preferredColor = NSColor(named: "StarColor")!
|
||||
return IconImage(image, isSymbol: true, isBackgroundSupressed: true, preferredColor: preferredColor.cgColor)
|
||||
return IconImage(image, isSymbol: true, isBackgroundSuppressed: true, preferredColor: preferredColor.cgColor)
|
||||
} else {
|
||||
return IconImage(RSImage(named: NSImage.smartBadgeTemplateName)!, isBackgroundSupressed: true)
|
||||
return IconImage(RSImage(named: NSImage.smartBadgeTemplateName)!, isBackgroundSuppressed: true)
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -258,9 +258,9 @@ struct AppAssets {
|
||||
if #available(macOS 11.0, *) {
|
||||
let image = NSImage(systemSymbolName: "sun.max.fill", accessibilityDescription: nil)!
|
||||
let preferredColor = NSColor.orange
|
||||
return IconImage(image, isSymbol: true, isBackgroundSupressed: true, preferredColor: preferredColor.cgColor)
|
||||
return IconImage(image, isSymbol: true, isBackgroundSuppressed: true, preferredColor: preferredColor.cgColor)
|
||||
} else {
|
||||
return IconImage(RSImage(named: NSImage.smartBadgeTemplateName)!, isBackgroundSupressed: true)
|
||||
return IconImage(RSImage(named: NSImage.smartBadgeTemplateName)!, isBackgroundSuppressed: true)
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -268,9 +268,9 @@ struct AppAssets {
|
||||
if #available(macOS 11.0, *) {
|
||||
let image = NSImage(systemSymbolName: "largecircle.fill.circle", accessibilityDescription: nil)!
|
||||
let preferredColor = NSColor(named: "AccentColor")!
|
||||
return IconImage(image, isSymbol: true, isBackgroundSupressed: true, preferredColor: preferredColor.cgColor)
|
||||
return IconImage(image, isSymbol: true, isBackgroundSuppressed: true, preferredColor: preferredColor.cgColor)
|
||||
} else {
|
||||
return IconImage(RSImage(named: NSImage.smartBadgeTemplateName)!, isBackgroundSupressed: true)
|
||||
return IconImage(RSImage(named: NSImage.smartBadgeTemplateName)!, isBackgroundSuppressed: true)
|
||||
}
|
||||
}()
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ final class IconView: NSView {
|
||||
}
|
||||
|
||||
override func draw(_ dirtyRect: NSRect) {
|
||||
guard !(iconImage?.isBackgroundSupressed ?? false) else { return }
|
||||
guard !(iconImage?.isBackgroundSuppressed ?? false) else { return }
|
||||
guard hasExposedVerticalBackground || !isDiscernable else { return }
|
||||
|
||||
let color = NSApplication.shared.effectiveAppearance.isDarkMode ? IconView.darkBackgroundColor : IconView.lightBackgroundColor
|
||||
|
||||
@@ -112,7 +112,7 @@ class SidebarCell : NSTableCellView {
|
||||
|
||||
override func accessibilityLabel() -> String? {
|
||||
if unreadCount > 0 {
|
||||
let unreadLabel = NSLocalizedString("unread", comment: "Unread label for accessiblity")
|
||||
let unreadLabel = NSLocalizedString("unread", comment: "Unread label for accessibility")
|
||||
return "\(name) \(unreadCount) \(unreadLabel)"
|
||||
} else {
|
||||
return name
|
||||
@@ -153,7 +153,7 @@ private extension SidebarCell {
|
||||
tintColor = NSColor.controlAccentColor.cgColor
|
||||
}
|
||||
}
|
||||
updatedIconImage = IconImage(iconImage.image, isSymbol: iconImage.isSymbol, isBackgroundSupressed: iconImage.isBackgroundSupressed, preferredColor: tintColor)
|
||||
updatedIconImage = IconImage(iconImage.image, isSymbol: iconImage.isSymbol, isBackgroundSuppressed: iconImage.isBackgroundSuppressed, preferredColor: tintColor)
|
||||
}
|
||||
|
||||
if let image = updatedIconImage {
|
||||
|
||||
@@ -105,16 +105,16 @@ protocol SidebarDelegate: AnyObject {
|
||||
func restoreState(from state: [AnyHashable : Any]) {
|
||||
|
||||
if let containerExpandedWindowState = state[UserInfoKey.containerExpandedWindowState] as? [[AnyHashable: AnyHashable]] {
|
||||
let containerIdentifers = containerExpandedWindowState.compactMap( { ContainerIdentifier(userInfo: $0) })
|
||||
expandedTable = Set(containerIdentifers)
|
||||
let containerIdentifiers = containerExpandedWindowState.compactMap( { ContainerIdentifier(userInfo: $0) })
|
||||
expandedTable = Set(containerIdentifiers)
|
||||
}
|
||||
|
||||
guard let selectedFeedsState = state[UserInfoKey.selectedFeedsState] as? [[AnyHashable: AnyHashable]] else {
|
||||
return
|
||||
}
|
||||
|
||||
let selectedFeedIdentifers = Set(selectedFeedsState.compactMap( { FeedIdentifier(userInfo: $0) }))
|
||||
selectedFeedIdentifers.forEach { treeControllerDelegate.addFilterException($0) }
|
||||
let selectedFeedIdentifiers = Set(selectedFeedsState.compactMap( { FeedIdentifier(userInfo: $0) }))
|
||||
selectedFeedIdentifiers.forEach { treeControllerDelegate.addFilterException($0) }
|
||||
|
||||
rebuildTreeAndReloadDataIfNeeded()
|
||||
|
||||
@@ -122,7 +122,7 @@ protocol SidebarDelegate: AnyObject {
|
||||
|
||||
func selectFeedsVisitor(node: Node) {
|
||||
if let feedID = (node.representedObject as? FeedIdentifiable)?.feedID {
|
||||
if selectedFeedIdentifers.contains(feedID) {
|
||||
if selectedFeedIdentifiers.contains(feedID) {
|
||||
selectIndexes.insert(outlineView.row(forItem: node) )
|
||||
}
|
||||
}
|
||||
@@ -535,10 +535,10 @@ private extension SidebarViewController {
|
||||
}
|
||||
|
||||
func addAllSelectedToFilterExceptions() {
|
||||
selectedFeeds.forEach { addToFilterExeptionsIfNecessary($0) }
|
||||
selectedFeeds.forEach { addToFilterExceptionsIfNecessary($0) }
|
||||
}
|
||||
|
||||
func addToFilterExeptionsIfNecessary(_ feed: Feed?) {
|
||||
func addToFilterExceptionsIfNecessary(_ feed: Feed?) {
|
||||
if isReadFiltered, let feedID = feed?.feedID {
|
||||
if feed is PseudoFeed {
|
||||
treeControllerDelegate.addFilterException(feedID)
|
||||
|
||||
@@ -25,7 +25,7 @@ public extension NSWindow {
|
||||
|
||||
func setPointAndSizeAdjustingForScreen(point: NSPoint, size: NSSize, minimumSize: NSSize) {
|
||||
|
||||
// point.y specifices from the *top* of the screen, even though screen coordinates work from the bottom up. This is for convenience.
|
||||
// point.y specifies from the *top* of the screen, even though screen coordinates work from the bottom up. This is for convenience.
|
||||
// The eventual size may be smaller than requested, since the screen may be small, but not smaller than minimumSize.
|
||||
|
||||
guard let screenFrame = screen?.visibleFrame else {
|
||||
|
||||
@@ -42,7 +42,7 @@ public extension String {
|
||||
self.data(using: .utf8)!.md5Hash
|
||||
}
|
||||
|
||||
/// A hexadecimal representaion of an MD5 hash of the string's UTF-8 representation.
|
||||
/// A hexadecimal representation of an MD5 hash of the string's UTF-8 representation.
|
||||
var md5String: String {
|
||||
self.md5Hash.hexadecimalString!
|
||||
}
|
||||
@@ -299,7 +299,7 @@ public extension String {
|
||||
///
|
||||
/// - Parameter string: The string to search for.
|
||||
///
|
||||
/// - Returns: `true` if the string contains `string`; `false` otherswise.
|
||||
/// - Returns: `true` if the string contains `string`; `false` otherwise.
|
||||
func caseInsensitiveContains(_ string: String) -> Bool {
|
||||
return self.range(of: string, options: .caseInsensitive) != nil
|
||||
}
|
||||
|
||||
@@ -28,8 +28,8 @@ class MacroProcessorTests: XCTestCase {
|
||||
result = try! MacroProcessor.renderedText(withTemplate: template, substitutions: substitutions)
|
||||
XCTAssertEqual(result, expected)
|
||||
|
||||
// Nonexistant key
|
||||
template = "foo [[nonexistant]] bar"
|
||||
// Nonexistent key
|
||||
template = "foo [[nonexistent]] bar"
|
||||
expected = template
|
||||
result = try! MacroProcessor.renderedText(withTemplate: template, substitutions: substitutions)
|
||||
XCTAssertEqual(result, expected)
|
||||
|
||||
@@ -267,7 +267,7 @@ static int FMDBDatabaseBusyHandler(void *f, int count) {
|
||||
|
||||
// we no longer make busyRetryTimeout public
|
||||
// but for folks who don't bother noticing that the interface to FMDatabase changed,
|
||||
// we'll still implement the method so they don't get suprise crashes
|
||||
// we'll still implement the method so they don't get surprise crashes
|
||||
- (int)busyRetryTimeout {
|
||||
NSLog(@"%s:%d", __FUNCTION__, __LINE__);
|
||||
NSLog(@"FMDB: busyRetryTimeout no longer works, please use maxBusyRetryTimeInterval");
|
||||
|
||||
@@ -74,23 +74,23 @@ return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
get table with list of tables: result colums: type[STRING], name[STRING],tbl_name[STRING],rootpage[INTEGER],sql[STRING]
|
||||
get table with list of tables: result columns: type[STRING], name[STRING],tbl_name[STRING],rootpage[INTEGER],sql[STRING]
|
||||
check if table exist in database (patch from OZLB)
|
||||
*/
|
||||
- (FMResultSet*)getSchema {
|
||||
|
||||
//result colums: type[STRING], name[STRING],tbl_name[STRING],rootpage[INTEGER],sql[STRING]
|
||||
//result columns: type[STRING], name[STRING],tbl_name[STRING],rootpage[INTEGER],sql[STRING]
|
||||
FMResultSet *rs = [self executeQuery:@"SELECT type, name, tbl_name, rootpage, sql FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type != 'meta' AND name NOT LIKE 'sqlite_%' ORDER BY tbl_name, type DESC, name"];
|
||||
|
||||
return rs;
|
||||
}
|
||||
|
||||
/*
|
||||
get table schema: result colums: cid[INTEGER], name,type [STRING], notnull[INTEGER], dflt_value[],pk[INTEGER]
|
||||
get table schema: result columns: cid[INTEGER], name,type [STRING], notnull[INTEGER], dflt_value[],pk[INTEGER]
|
||||
*/
|
||||
- (FMResultSet*)getTableSchema:(NSString*)tableName {
|
||||
|
||||
//result colums: cid[INTEGER], name,type [STRING], notnull[INTEGER], dflt_value[],pk[INTEGER]
|
||||
//result columns: cid[INTEGER], name,type [STRING], notnull[INTEGER], dflt_value[],pk[INTEGER]
|
||||
FMResultSet *rs = [self executeQuery:[NSString stringWithFormat: @"pragma table_info('%@')", tableName]];
|
||||
|
||||
return rs;
|
||||
|
||||
@@ -39,10 +39,10 @@ class ArticleExtractor {
|
||||
|
||||
let clientURL = "https://extract.feedbin.com/parser"
|
||||
let username = SecretsManager.provider.mercuryClientId
|
||||
let signiture = articleLink.hmacUsingSHA1(key: SecretsManager.provider.mercuryClientSecret)
|
||||
let signature = articleLink.hmacUsingSHA1(key: SecretsManager.provider.mercuryClientSecret)
|
||||
|
||||
if let base64URL = articleLink.data(using: .utf8)?.base64EncodedString() {
|
||||
let fullURL = "\(clientURL)/\(username)/\(signiture)?base64_url=\(base64URL)"
|
||||
let fullURL = "\(clientURL)/\(username)/\(signature)?base64_url=\(base64URL)"
|
||||
if let url = URL(string: fullURL) {
|
||||
self.url = url
|
||||
return
|
||||
|
||||
@@ -26,14 +26,14 @@ final class IconImage {
|
||||
|
||||
let image: RSImage
|
||||
let isSymbol: Bool
|
||||
let isBackgroundSupressed: Bool
|
||||
let isBackgroundSuppressed: Bool
|
||||
let preferredColor: CGColor?
|
||||
|
||||
init(_ image: RSImage, isSymbol: Bool = false, isBackgroundSupressed: Bool = false, preferredColor: CGColor? = nil) {
|
||||
init(_ image: RSImage, isSymbol: Bool = false, isBackgroundSuppressed: Bool = false, preferredColor: CGColor? = nil) {
|
||||
self.image = image
|
||||
self.isSymbol = isSymbol
|
||||
self.preferredColor = preferredColor
|
||||
self.isBackgroundSupressed = isBackgroundSupressed
|
||||
self.isBackgroundSuppressed = isBackgroundSuppressed
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,11 +22,11 @@ final class FaviconGenerator {
|
||||
|
||||
let colorHash = ColorHash(webFeed.url)
|
||||
if let favicon = AppAssets.faviconTemplateImage.maskWithColor(color: colorHash.color.cgColor) {
|
||||
let iconImage = IconImage(favicon, isBackgroundSupressed: true)
|
||||
let iconImage = IconImage(favicon, isBackgroundSuppressed: true)
|
||||
FaviconGenerator.faviconGeneratorCache[webFeed.url] = iconImage
|
||||
return iconImage
|
||||
} else {
|
||||
return IconImage(AppAssets.faviconTemplateImage, isBackgroundSupressed: true)
|
||||
return IconImage(AppAssets.faviconTemplateImage, isBackgroundSuppressed: true)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@ class ReaderAPIAccountViewController: UITableViewController {
|
||||
usernameTextField.delegate = self
|
||||
passwordTextField.delegate = self
|
||||
|
||||
if let unwrappedAcount = account,
|
||||
let credentials = try? retrieveCredentialsForAccount(for: unwrappedAcount) {
|
||||
if let unwrappedAccount = account,
|
||||
let credentials = try? retrieveCredentialsForAccount(for: unwrappedAccount) {
|
||||
actionButton.setTitle(NSLocalizedString("Update Credentials", comment: "Update Credentials"), for: .normal)
|
||||
actionButton.isEnabled = true
|
||||
usernameTextField.text = credentials.username
|
||||
@@ -180,7 +180,7 @@ class ReaderAPIAccountViewController: UITableViewController {
|
||||
case .success:
|
||||
break
|
||||
case .failure(let error):
|
||||
self.showError(NSLocalizedString(error.localizedDescription, comment: "Accoount Refresh Error"))
|
||||
self.showError(NSLocalizedString(error.localizedDescription, comment: "Account Refresh Error"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ struct AppAssets {
|
||||
}()
|
||||
|
||||
static var mainFolderImage: IconImage = {
|
||||
return IconImage(UIImage(systemName: "folder.fill")!, isSymbol: true, isBackgroundSupressed: true, preferredColor: AppAssets.secondaryAccentColor.cgColor)
|
||||
return IconImage(UIImage(systemName: "folder.fill")!, isSymbol: true, isBackgroundSuppressed: true, preferredColor: AppAssets.secondaryAccentColor.cgColor)
|
||||
}()
|
||||
|
||||
static var mainFolderImageNonIcon: UIImage = {
|
||||
@@ -221,7 +221,7 @@ struct AppAssets {
|
||||
|
||||
static var starredFeedImage: IconImage {
|
||||
let image = UIImage(systemName: "star.fill")!
|
||||
return IconImage(image, isSymbol: true, isBackgroundSupressed: true, preferredColor: AppAssets.starColor.cgColor)
|
||||
return IconImage(image, isSymbol: true, isBackgroundSuppressed: true, preferredColor: AppAssets.starColor.cgColor)
|
||||
}
|
||||
|
||||
static var tickMarkColor: UIColor = {
|
||||
@@ -235,7 +235,7 @@ struct AppAssets {
|
||||
|
||||
static var todayFeedImage: IconImage {
|
||||
let image = UIImage(systemName: "sun.max.fill")!
|
||||
return IconImage(image, isSymbol: true, isBackgroundSupressed: true, preferredColor: UIColor.systemOrange.cgColor)
|
||||
return IconImage(image, isSymbol: true, isBackgroundSuppressed: true, preferredColor: UIColor.systemOrange.cgColor)
|
||||
}
|
||||
|
||||
static var trashImage: UIImage = {
|
||||
@@ -244,7 +244,7 @@ struct AppAssets {
|
||||
|
||||
static var unreadFeedImage: IconImage {
|
||||
let image = UIImage(systemName: "largecircle.fill.circle")!
|
||||
return IconImage(image, isSymbol: true, isBackgroundSupressed: true, preferredColor: AppAssets.secondaryAccentColor.cgColor)
|
||||
return IconImage(image, isSymbol: true, isBackgroundSuppressed: true, preferredColor: AppAssets.secondaryAccentColor.cgColor)
|
||||
}
|
||||
|
||||
static var vibrantTextColor: UIColor = {
|
||||
|
||||
@@ -47,7 +47,7 @@ final class IconView: UIView {
|
||||
}
|
||||
|
||||
private var isBackgroundSuppressed: Bool {
|
||||
return iconImage?.isBackgroundSupressed ?? false
|
||||
return iconImage?.isBackgroundSuppressed ?? false
|
||||
}
|
||||
|
||||
override init(frame: CGRect) {
|
||||
|
||||
@@ -23,7 +23,7 @@ class MainFeedTableViewCell : VibrantTableViewCell {
|
||||
set {}
|
||||
get {
|
||||
if unreadCount > 0 {
|
||||
let unreadLabel = NSLocalizedString("unread", comment: "Unread label for accessiblity")
|
||||
let unreadLabel = NSLocalizedString("unread", comment: "Unread label for accessibility")
|
||||
return "\(name) \(unreadCount) \(unreadLabel)"
|
||||
} else {
|
||||
return name
|
||||
|
||||
@@ -20,7 +20,7 @@ class MainFeedTableViewSectionHeader: UITableViewHeaderFooterView {
|
||||
set {}
|
||||
get {
|
||||
if unreadCount > 0 {
|
||||
let unreadLabel = NSLocalizedString("unread", comment: "Unread label for accessiblity")
|
||||
let unreadLabel = NSLocalizedString("unread", comment: "Unread label for accessibility")
|
||||
return "\(name) \(unreadCount) \(unreadLabel) \(expandedStateMessage) "
|
||||
} else {
|
||||
return "\(name) \(expandedStateMessage) "
|
||||
|
||||
@@ -265,7 +265,7 @@ private extension MainTimelineTableViewCell {
|
||||
}
|
||||
}
|
||||
|
||||
func updateAccessiblityLabel() {
|
||||
func updateaccessibilityLabel() {
|
||||
let starredStatus = cellData.starred ? "\(NSLocalizedString("Starred", comment: "Starred article for accessibility")), " : ""
|
||||
let unreadStatus = cellData.read ? "" : "\(NSLocalizedString("Unread", comment: "Unread")), "
|
||||
let label = starredStatus + unreadStatus + "\(cellData.feedName), \(cellData.title), \(cellData.summary), \(cellData.dateString)"
|
||||
@@ -304,7 +304,7 @@ private extension MainTimelineTableViewCell {
|
||||
updateUnreadIndicator()
|
||||
updateStarView()
|
||||
updateIconImage()
|
||||
updateAccessiblityLabel()
|
||||
updateaccessibilityLabel()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ class MainTimelineTitleView: UIView {
|
||||
set { }
|
||||
get {
|
||||
if let name = label?.text {
|
||||
let unreadLabel = NSLocalizedString("unread", comment: "Unread label for accessiblity")
|
||||
let unreadLabel = NSLocalizedString("unread", comment: "Unread label for accessibility")
|
||||
return "\(name) \(unreadCountView?.unreadCount ?? 0) \(unreadLabel)"
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -250,7 +250,7 @@ class SceneCoordinator: NSObject, UndoableCommandRunner {
|
||||
|
||||
private var articleDictionaryNeedsUpdate = true
|
||||
private var _idToArticleDictionary = [String: Article]()
|
||||
private var idToAticleDictionary: [String: Article] {
|
||||
private var idToArticleDictionary: [String: Article] {
|
||||
if articleDictionaryNeedsUpdate {
|
||||
rebuildArticleDictionaries()
|
||||
}
|
||||
@@ -316,8 +316,8 @@ class SceneCoordinator: NSObject, UndoableCommandRunner {
|
||||
if let activity = activity, let windowState = activity.userInfo?[UserInfoKey.windowState] as? [AnyHashable: Any] {
|
||||
|
||||
if let containerExpandedWindowState = windowState[UserInfoKey.containerExpandedWindowState] as? [[AnyHashable: AnyHashable]] {
|
||||
let containerIdentifers = containerExpandedWindowState.compactMap( { ContainerIdentifier(userInfo: $0) })
|
||||
expandedTable = Set(containerIdentifers)
|
||||
let containerIdentifiers = containerExpandedWindowState.compactMap( { ContainerIdentifier(userInfo: $0) })
|
||||
expandedTable = Set(containerIdentifiers)
|
||||
}
|
||||
|
||||
if let readArticlesFilterState = windowState[UserInfoKey.readArticlesFilterState] as? [[AnyHashable: AnyHashable]: Bool] {
|
||||
@@ -617,7 +617,7 @@ class SceneCoordinator: NSObject, UndoableCommandRunner {
|
||||
}
|
||||
|
||||
func articleFor(_ articleID: String) -> Article? {
|
||||
return idToAticleDictionary[articleID]
|
||||
return idToArticleDictionary[articleID]
|
||||
}
|
||||
|
||||
func cappedIndexPath(_ indexPath: IndexPath) -> IndexPath {
|
||||
@@ -1402,7 +1402,7 @@ private extension SceneCoordinator {
|
||||
}
|
||||
|
||||
func ensureFeedIsAvailableToSelect(_ feed: Feed, completion: @escaping () -> Void) {
|
||||
addToFilterExeptionsIfNecessary(feed)
|
||||
addToFilterExceptionsIfNecessary(feed)
|
||||
addShadowTableToFilterExceptions()
|
||||
|
||||
rebuildBackingStores(completion: {
|
||||
@@ -1411,7 +1411,7 @@ private extension SceneCoordinator {
|
||||
})
|
||||
}
|
||||
|
||||
func addToFilterExeptionsIfNecessary(_ feed: Feed?) {
|
||||
func addToFilterExceptionsIfNecessary(_ feed: Feed?) {
|
||||
if isReadFeedsFiltered, let feedID = feed?.feedID {
|
||||
if feed is SmartFeed {
|
||||
treeControllerDelegate.addFilterException(feedID)
|
||||
@@ -1458,7 +1458,7 @@ private extension SceneCoordinator {
|
||||
|
||||
func rebuildBackingStores(initialLoad: Bool = false, updateExpandedNodes: (() -> Void)? = nil, completion: (() -> Void)? = nil) {
|
||||
if !BatchUpdate.shared.isPerforming {
|
||||
addToFilterExeptionsIfNecessary(timelineFeed)
|
||||
addToFilterExceptionsIfNecessary(timelineFeed)
|
||||
treeController.rebuild()
|
||||
treeControllerDelegate.resetFilterExceptions()
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import Foundation
|
||||
/// Used to select which animations should be performed
|
||||
public struct Animations: OptionSet {
|
||||
|
||||
/// Select and deslections will be animated.
|
||||
/// Selections and deselections will be animated.
|
||||
public static let select = Animations(rawValue: 1)
|
||||
|
||||
/// Scrolling will be animated
|
||||
|
||||
Reference in New Issue
Block a user