diff --git a/Evergreen/AppDelegate.swift b/Evergreen/AppDelegate.swift index 9bedb93fc..f6cd38a7d 100644 --- a/Evergreen/AppDelegate.swift +++ b/Evergreen/AppDelegate.swift @@ -16,7 +16,6 @@ import Account let appName = "Evergreen" var currentTheme: VSTheme! -let batchUpdate = BatchUpdate() @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations { diff --git a/Evergreen/BatchUpdate.swift b/Evergreen/BatchUpdate.swift index 0019cd01a..db992fefe 100644 --- a/Evergreen/BatchUpdate.swift +++ b/Evergreen/BatchUpdate.swift @@ -17,6 +17,8 @@ public extension Notification.Name { final class BatchUpdate { + static let shared = BatchUpdate() + private var count = 0 var isPerforming: Bool { diff --git a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift index 8944fa768..bea0708bf 100644 --- a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift +++ b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift @@ -73,7 +73,7 @@ import Account outlineView.removeItems(at: selectedRows, inParent: nil, withAnimation: [.slideDown]) outlineView.endUpdates() - batchUpdate.perform { + BatchUpdate.shared.perform { deleteItemsForNodes(nodesToDelete) } @@ -164,7 +164,7 @@ private extension SidebarViewController { func rebuildTreeAndReloadDataIfNeeded() { - if !batchUpdate.isPerforming { + if !BatchUpdate.shared.isPerforming { treeController.rebuild() outlineView.reloadData() } diff --git a/Importers/DefaultFeedsImporter.swift b/Importers/DefaultFeedsImporter.swift index 0b1bf68db..54d5539e3 100644 --- a/Importers/DefaultFeedsImporter.swift +++ b/Importers/DefaultFeedsImporter.swift @@ -42,7 +42,7 @@ struct FeedsImporter { let feedsToImport = feeds(with: feedDictionaries, accountID: account.accountID) - batchUpdate.perform { + BatchUpdate.shared.perform { for feed in feedsToImport { if !account.hasFeed(with: feed.feedID) { let _ = account.addFeed(feed, to: nil) diff --git a/Importers/OPMLImporter.swift b/Importers/OPMLImporter.swift index ce22ab01f..4006d9b5a 100644 --- a/Importers/OPMLImporter.swift +++ b/Importers/OPMLImporter.swift @@ -38,7 +38,7 @@ struct OPMLImporter { } if let opmlDocument = opmlDocument { - batchUpdate.perform { + BatchUpdate.shared.perform { account.importOPML(opmlDocument) } }