Merge pull request #3404 from santry/ss-show-sidebar-setting

Save Sidebar open/collapsed state between launches. Fixes #2707
This commit is contained in:
Maurice Parker
2022-02-01 14:57:40 -08:00
committed by GitHub
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 {

View File

@@ -25,5 +25,6 @@ struct UserInfoKey {
static let selectedFeedsState = "selectedFeedsState"
static let isShowingExtractedArticle = "isShowingExtractedArticle"
static let articleWindowScrollY = "articleWindowScrollY"
static let isSidebarHidden = "isSidebarHidden"
}