Save Sidebar open/collapsed state between launches. Fixes #2707

This commit is contained in:
Sean Santry
2022-01-19 13:06:08 -05:00
parent 5b717777f4
commit f802165959
2 changed files with 9 additions and 0 deletions

View File

@@ -1273,6 +1273,8 @@ private extension MainWindowController {
let widths = splitView.arrangedSubviews.map{ Int(floor($0.frame.width)) }
state[MainWindowController.mainWindowWidthsStateKey] = widths
state[UserInfoKey.isSidebarHidden] = sidebarSplitViewItem?.isCollapsed
}
func restoreSplitViewState(from state: [AnyHashable : Any]) {
@@ -1295,6 +1297,12 @@ private extension MainWindowController {
splitView.setPosition(CGFloat(sidebarWidth), ofDividerAt: 0)
splitView.setPosition(CGFloat(sidebarWidth + dividerThickness + timelineWidth), ofDividerAt: 1)
let isSidebarHidden = state[UserInfoKey.isSidebarHidden] as? Bool ?? false
if !(sidebarSplitViewItem?.isCollapsed ?? false) && isSidebarHidden {
sidebarSplitViewItem?.isCollapsed = true
}
}
func buildToolbarButton(_ itemIdentifier: NSToolbarItem.Identifier, _ title: String, _ image: NSImage, _ selector: String) -> NSToolbarItem {