Skip to content

Commit 3c76f96

Browse files
committed
Make preferences resize more correctly
1 parent 2c70f0a commit 3c76f96

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

Juice/Classes/PreferencesWindowController.swift

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,24 @@ final class PreferencesWindowController: NSWindowController, NSToolbarDelegate {
3030
}
3131
set {
3232
guard let window = window,
33-
let value = newValue else {
33+
let contentView = window.contentView,
34+
let value = newValue,
35+
let newView = newValue?.view else {
3436
super.contentViewController = newValue
3537
return
3638
}
3739

40+
let preferredOrigin = window.frame.origin
41+
let heightDelta = newView.frame.height - contentView.frame.height
42+
3843
value.preferredScreenOrigin = window.frame.origin
3944
super.contentViewController = value
40-
window.setFrameOrigin(value.preferredScreenOrigin)
45+
46+
var windowFrame = window.frame
47+
windowFrame.size = NSSize(width: windowFrame.size.width, height: windowFrame.size.height + heightDelta)
48+
windowFrame.origin = NSPoint(x: preferredOrigin.x, y: preferredOrigin.y - heightDelta)
49+
50+
window.setFrameOrigin(windowFrame.origin)
4151
}
4252
}
4353

@@ -48,6 +58,9 @@ final class PreferencesWindowController: NSWindowController, NSToolbarDelegate {
4858
override func windowDidLoad() {
4959
super.windowDidLoad()
5060
window?.level = Int(CGWindowLevelForKey(.floatingWindow))
61+
62+
toolbar.selectedItemIdentifier = Identifiers.General
63+
generalToolbarItemClicked()
5164
}
5265

5366
func customToolbarItem(itemForItemIdentifier itemIdentifier: String, label: String, paletteLabel: String, toolTip: String, target: AnyObject, itemContent: NSImage?, action: Selector?, menu: NSMenu?) -> NSToolbarItem? {

0 commit comments

Comments
 (0)