From 7ce4a21194282c0a33552f92374f8bb4dcdfed3b Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Tue, 5 Feb 2019 21:00:53 -0800 Subject: [PATCH] Add rebuildTreeAndRestoreSelection method and use it where appropriate in SidebarViewController. --- .../MainWindow/Sidebar/SidebarViewController.swift | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/NetNewsWire/MainWindow/Sidebar/SidebarViewController.swift b/NetNewsWire/MainWindow/Sidebar/SidebarViewController.swift index b229f2f66..23f220365 100644 --- a/NetNewsWire/MainWindow/Sidebar/SidebarViewController.swift +++ b/NetNewsWire/MainWindow/Sidebar/SidebarViewController.swift @@ -83,13 +83,11 @@ import RSCore } @objc func containerChildrenDidChange(_ note: Notification) { - - rebuildTreeAndReloadDataIfNeeded() + rebuildTreeAndRestoreSelection() } @objc func batchUpdateDidPerform(_ notification: Notification) { - - rebuildTreeAndReloadDataIfNeeded() + rebuildTreeAndRestoreSelection() } @objc func userDidAddFeed(_ notification: Notification) { @@ -297,6 +295,13 @@ import RSCore animatingChanges = false } + // MARK: - API + + func rebuildTreeAndRestoreSelection() { + let savedSelection = selectedNodes + rebuildTreeAndReloadDataIfNeeded() + restoreSelection(to: savedSelection, sendNotificationIfChanged: true) + } } // MARK: - NSUserInterfaceValidations