From bb1fb146ea109993d2cd564e6c50fe171ebe30fd Mon Sep 17 00:00:00 2001 From: Ethan Wong Date: Fri, 26 May 2023 13:34:15 +0800 Subject: [PATCH] =?UTF-8?q?Do=20not=20make=20the=20sidebar=20first=20respo?= =?UTF-8?q?nder=20when=20it=E2=80=99s=20collapsed.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Mac/MainWindow/MainWindowController.swift | 4 +++- Mac/MainWindow/Sidebar/SidebarViewController.swift | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) 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) }