From 0762e28edaed3e8126cc8092078e5ab7d6eac32e Mon Sep 17 00:00:00 2001 From: "louis.pontoise" Date: Wed, 5 Feb 2020 09:40:01 +0900 Subject: [PATCH] refactor: factorize code in extension --- alt-tab-macos/api-wrappers/HelperExtensions.swift | 8 ++++++++ alt-tab-macos/ui/PreferencesWindow.swift | 8 +++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/alt-tab-macos/api-wrappers/HelperExtensions.swift b/alt-tab-macos/api-wrappers/HelperExtensions.swift index 703c804c7..d8007cf2c 100644 --- a/alt-tab-macos/api-wrappers/HelperExtensions.swift +++ b/alt-tab-macos/api-wrappers/HelperExtensions.swift @@ -85,3 +85,11 @@ extension Array where Element == Window { return self[index] } } + +extension NSView { + // constrain size to fittingSize + func fit() { + widthAnchor.constraint(equalToConstant: fittingSize.width).isActive = true + heightAnchor.constraint(equalToConstant: fittingSize.height).isActive = true + } +} diff --git a/alt-tab-macos/ui/PreferencesWindow.swift b/alt-tab-macos/ui/PreferencesWindow.swift index d931c47da..3bccbeb4a 100644 --- a/alt-tab-macos/ui/PreferencesWindow.swift +++ b/alt-tab-macos/ui/PreferencesWindow.swift @@ -111,7 +111,7 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { gridView.column(at: gridView.numberOfColumns - 1).trailingPadding = padding gridView.row(at: 0).topPadding = padding gridView.row(at: gridView.numberOfRows - 1).bottomPadding = padding - gridView.widthAnchor.constraint(equalToConstant: gridView.fittingSize.width).isActive = true + gridView.fit() gridView.rowAlignment = .lastBaseline for i in 0.. NSTextField { let label = NSTextField(wrappingLabelWithString: labelText != nil ? labelText! + ": " : "") - label.widthAnchor.constraint(equalToConstant: label.fittingSize.width).isActive = true - label.heightAnchor.constraint(equalToConstant: label.fittingSize.height).isActive = true + label.fit() label.alignment = .right label.identifier = NSUserInterfaceItemIdentifier(rawName + ControlIdentifierDiscriminator.LABEL.rawValue) return label @@ -183,8 +182,7 @@ class PreferencesWindow: NSWindow, NSWindowDelegate { } suffix.textColor = .gray suffix.identifier = NSUserInterfaceItemIdentifier(controlName + ControlIdentifierDiscriminator.SUFFIX.rawValue) - suffix.widthAnchor.constraint(equalToConstant: suffix.fittingSize.width).isActive = true - suffix.heightAnchor.constraint(equalToConstant: suffix.fittingSize.height).isActive = true + suffix.fit() return suffix }