From aca8acea7c80952b91d9cd11c8e5807fef2dfdfb Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Thu, 19 Oct 2017 13:27:59 -0700 Subject: [PATCH] Update sidebar when adding a folder. --- .../MainWindow/Sidebar/SidebarViewController.swift | 9 ++++++--- Frameworks/Account/Account.swift | 1 + Frameworks/RSTree/RSTree/TreeController.swift | 2 +- ToDo.opml | 14 ++++++++------ 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift index f811ef389..24fc957f9 100644 --- a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift +++ b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift @@ -14,14 +14,17 @@ import Account @objc class SidebarViewController: NSViewController, NSOutlineViewDelegate, NSOutlineViewDataSource { @IBOutlet var outlineView: NSOutlineView! - let treeController = TreeController(delegate: SidebarTreeControllerDelegate()) + let treeControllerDelegate = SidebarTreeControllerDelegate() + lazy var treeController: TreeController = { + TreeController(delegate: treeControllerDelegate) + }() //MARK: NSViewController override func viewDidLoad() { NotificationCenter.default.addObserver(self, selector: #selector(unreadCountDidChange(_:)), name: .UnreadCountDidChange, object: nil) -// NotificationCenter.default.addObserver(self, selector: #selector(folderChildrenDidChange(_:)), name: NSNotification.Name(rawValue: FolderChildrenDidChangeNotification), object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(containerChildrenDidChange(_:)), name: .ChildrenDidChange, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(userDidAddFeed(_:)), name: UserDidAddFeedNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(batchUpdateDidFinish(_:)), name: .BatchUpdateDidFinish, object: nil) @@ -38,7 +41,7 @@ import Account let _ = configureCellsForRepresentedObject(representedObject as AnyObject) } - @objc dynamic func folderChildrenDidChange(_ note: Notification) { + @objc dynamic func containerChildrenDidChange(_ note: Notification) { rebuildTreeAndReloadDataIfNeeded() } diff --git a/Frameworks/Account/Account.swift b/Frameworks/Account/Account.swift index 5aec54877..aedc02b53 100644 --- a/Frameworks/Account/Account.swift +++ b/Frameworks/Account/Account.swift @@ -192,6 +192,7 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container, children += [folder] dirty = true + postChildrenDidChangeNotification() return folder } diff --git a/Frameworks/RSTree/RSTree/TreeController.swift b/Frameworks/RSTree/RSTree/TreeController.swift index 4c1720bfd..8ff3785d8 100644 --- a/Frameworks/RSTree/RSTree/TreeController.swift +++ b/Frameworks/RSTree/RSTree/TreeController.swift @@ -17,7 +17,7 @@ public typealias NodeVisitBlock = (_ : Node) -> Void public final class TreeController { - fileprivate weak var delegate: TreeControllerDelegate? + private weak var delegate: TreeControllerDelegate? public let rootNode: Node public init(delegate: TreeControllerDelegate, rootNode: Node) { diff --git a/ToDo.opml b/ToDo.opml index ffc5343d2..bd9f3c016 100644 --- a/ToDo.opml +++ b/ToDo.opml @@ -6,16 +6,18 @@ --> ToDo Tue, 12 Sep 2017 20:15:17 GMT - 0,12,20,23,24,27,31,37,45,46,48,63,68 + 0,14,22,25,26,29,33,39,47,48,50,65,70 0 - 581 - 54 - 786 - 1340 + 632 + 48 + 780 + 1391 - + + +