Do not make the sidebar first responder when it’s collapsed.

This commit is contained in:
Ethan Wong 2023-05-26 13:34:15 +08:00 committed by Brent Simmons
parent 78bfb6e0a7
commit 711eeddecc
2 changed files with 6 additions and 1 deletions

View File

@ -83,7 +83,9 @@ class MainWindowController : NSWindowController, NSUserInterfaceValidations {
detailSplitViewItem?.minimumThickness = CGFloat(MainWindowController.detailViewMinimumThickness) 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 sidebarViewController!.delegate = self
timelineContainerViewController = splitViewController?.splitViewItems[1].viewController as? TimelineContainerViewController timelineContainerViewController = splitViewController?.splitViewItems[1].viewController as? TimelineContainerViewController

View File

@ -28,6 +28,8 @@ protocol SidebarDelegate: AnyObject {
weak var delegate: SidebarDelegate? weak var delegate: SidebarDelegate?
weak var splitViewItem: NSSplitViewItem?
private let rebuildTreeAndRestoreSelectionQueue = CoalescingQueue(name: "Rebuild Tree Queue", interval: 1.0) private let rebuildTreeAndRestoreSelectionQueue = CoalescingQueue(name: "Rebuild Tree Queue", interval: 1.0)
let treeControllerDelegate = FeedTreeControllerDelegate() let treeControllerDelegate = FeedTreeControllerDelegate()
lazy var treeController: TreeController = { lazy var treeController: TreeController = {
@ -318,6 +320,7 @@ protocol SidebarDelegate: AnyObject {
} }
func focus() { func focus() {
if splitViewItem?.isCollapsed == true { return }
outlineView.window?.makeFirstResponderUnlessDescendantIsFirstResponder(outlineView) outlineView.window?.makeFirstResponderUnlessDescendantIsFirstResponder(outlineView)
} }