diff --git a/Mac/MainWindow/MainWindowController.swift b/Mac/MainWindow/MainWindowController.swift index 5ed6e1a13..d3e5aab90 100644 --- a/Mac/MainWindow/MainWindowController.swift +++ b/Mac/MainWindow/MainWindowController.swift @@ -87,7 +87,9 @@ enum TimelineSourceMode { 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 0d571f8ed..a79f899f7 100644 --- a/Mac/MainWindow/Sidebar/SidebarViewController.swift +++ b/Mac/MainWindow/Sidebar/SidebarViewController.swift @@ -29,6 +29,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 = { @@ -323,6 +325,7 @@ protocol SidebarDelegate: AnyObject { } func focus() { + if splitViewItem?.isCollapsed == true { return } outlineView.window?.makeFirstResponderUnlessDescendantIsFirstResponder(outlineView) }