diff --git a/Mac/MainWindow/MainWindowController.swift b/Mac/MainWindow/MainWindowController.swift index 25cf69e4e..fe07dd1b9 100644 --- a/Mac/MainWindow/MainWindowController.swift +++ b/Mac/MainWindow/MainWindowController.swift @@ -449,18 +449,11 @@ extension MainWindowController: NSWindowDelegate { func window(_ window: NSWindow, willEncodeRestorableState state: NSCoder) { - if let sidebarReadFiltered = sidebarViewController?.isReadFiltered { - state.encode(sidebarReadFiltered, forKey: UserInfoKey.readFeedsFilterState) - } - // saveSplitViewState(to: state) } func window(_ window: NSWindow, didDecodeRestorableState state: NSCoder) { - let sidebarReadFiltered = state.decodeBool(forKey: UserInfoKey.readFeedsFilterState) - sidebarViewController?.isReadFiltered = sidebarReadFiltered - // restoreSplitViewState(from: state) // // // Make sure the timeline view is first responder if possible, to start out viewing @@ -499,10 +492,6 @@ extension MainWindowController: SidebarDelegate { return timelineViewController.unreadCount } - func sidebarInvalidateRestorableState(_: SidebarViewController) { - invalidateRestorableState() - } - } // MARK: - TimelineContainerViewControllerDelegate diff --git a/Mac/MainWindow/Sidebar/SidebarViewController.swift b/Mac/MainWindow/Sidebar/SidebarViewController.swift index dd0a212cf..684316041 100644 --- a/Mac/MainWindow/Sidebar/SidebarViewController.swift +++ b/Mac/MainWindow/Sidebar/SidebarViewController.swift @@ -15,7 +15,6 @@ import RSCore protocol SidebarDelegate: class { func sidebarSelectionDidChange(_: SidebarViewController, selectedObjects: [AnyObject]?) func unreadCount(for: AnyObject) -> Int - func sidebarInvalidateRestorableState(_: SidebarViewController) } @objc class SidebarViewController: NSViewController, NSOutlineViewDelegate, NSOutlineViewDataSource, NSMenuDelegate, UndoableCommandRunner { @@ -39,7 +38,7 @@ protocol SidebarDelegate: class { } set { treeControllerDelegate.isReadFiltered = newValue - delegate?.sidebarInvalidateRestorableState(self) + invalidateRestorableState() rebuildTreeAndRestoreSelection() } } @@ -92,6 +91,16 @@ protocol SidebarDelegate: class { } } + // MARK: State Restoration + + override func encodeRestorableState(with coder: NSCoder) { + coder.encode(isReadFiltered, forKey: UserInfoKey.readFeedsFilterState) + } + + override func restoreState(with coder: NSCoder) { + isReadFiltered = coder.decodeBool(forKey: UserInfoKey.readFeedsFilterState) + } + // MARK: - Notifications @objc func unreadCountDidChange(_ note: Notification) {