diff --git a/Mac/MainWindow/MainWindowController.swift b/Mac/MainWindow/MainWindowController.swift index 6f101471d..a0b9932c5 100644 --- a/Mac/MainWindow/MainWindowController.swift +++ b/Mac/MainWindow/MainWindowController.swift @@ -83,7 +83,9 @@ class MainWindowController : NSWindowController, NSUserInterfaceValidations { detailSplitViewItem?.minimumThickness = CGFloat(MainWindowController.detailViewMinimumThickness) - sidebarViewController = splitViewController?.splitViewItems[0].viewController as? SidebarViewController + let sidebarSplitViewItem = splitViewController?.splitViewItems[0] + sidebarViewController = sidebarSplitViewItem?.viewController as? SidebarViewController + sidebarViewController!.splitViewItem = sidebarSplitViewItem sidebarViewController!.delegate = self timelineContainerViewController = splitViewController?.splitViewItems[1].viewController as? TimelineContainerViewController diff --git a/Mac/MainWindow/Sidebar/SidebarViewController.swift b/Mac/MainWindow/Sidebar/SidebarViewController.swift index d4a653ad9..905377915 100644 --- a/Mac/MainWindow/Sidebar/SidebarViewController.swift +++ b/Mac/MainWindow/Sidebar/SidebarViewController.swift @@ -28,6 +28,8 @@ protocol SidebarDelegate: AnyObject { weak var delegate: SidebarDelegate? + weak var splitViewItem: NSSplitViewItem? + private let rebuildTreeAndRestoreSelectionQueue = CoalescingQueue(name: "Rebuild Tree Queue", interval: 1.0) let treeControllerDelegate = WebFeedTreeControllerDelegate() lazy var treeController: TreeController = { @@ -318,6 +320,7 @@ protocol SidebarDelegate: AnyObject { } func focus() { + if splitViewItem?.isCollapsed == true { return } outlineView.window?.makeFirstResponderUnlessDescendantIsFirstResponder(outlineView) }