From 3af51f22e1ba7b53c4263c2d77d4947b5abb2008 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Wed, 14 Feb 2024 21:44:28 +0800 Subject: [PATCH] SettingsCocoa // Share metrics across panes. --- .../SettingsCocoa/VwrSettingsCocoaPanes.swift | 6 ++ .../VwrSettingsPaneCocoaBehavior.swift | 60 ++++++++++--------- .../VwrSettingsPaneCocoaCandidates.swift | 50 ++++++++-------- .../VwrSettingsPaneCocoaCassette.swift | 9 ++- .../VwrSettingsPaneCocoaDevZone.swift | 7 ++- .../VwrSettingsPaneCocoaDictionary.swift | 9 ++- .../VwrSettingsPaneCocoaGeneral.swift | 8 ++- .../VwrSettingsPaneCocoaKeyboard.swift | 8 ++- .../VwrSettingsPaneCocoaOutput.swift | 7 ++- .../VwrSettingsPaneCocoaPhrases.swift | 7 ++- 10 files changed, 100 insertions(+), 71 deletions(-) diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsCocoaPanes.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsCocoaPanes.swift index 8fb52679..59623262 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsCocoaPanes.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsCocoaPanes.swift @@ -20,6 +20,12 @@ public class SettingsPanesCocoa { public let ctlPageCassette = SettingsPanesCocoa.Cassette() public let ctlPageKeyboard = SettingsPanesCocoa.Keyboard() public let ctlPageDevZone = SettingsPanesCocoa.DevZone() + + public static let windowWidth: CGFloat = 614 + public static var contentWidth: CGFloat { windowWidth - 65 } + public static var innerContentWidth: CGFloat { contentWidth - 37 } + public static var tabContainerWidth: CGFloat { contentWidth + 20 } + public static var contentHalfWidth: CGFloat { contentWidth / 2 - 4 } } public extension SettingsPanesCocoa { diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaBehavior.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaBehavior.swift index d1c260cb..59486f01 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaBehavior.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaBehavior.swift @@ -12,9 +12,11 @@ import Shared public extension SettingsPanesCocoa { class Behavior: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 - 37 - let tabContainerWidth: CGFloat = 512 + 20 + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } override public func loadView() { view = body ?? .init() @@ -27,35 +29,35 @@ public extension SettingsPanesCocoa { NSView().makeSimpleConstraint(.height, relation: .equal, value: 4) NSTabView.build { NSTabView.TabPage(title: "A") { - NSStackView.buildSection(width: contentWidth) { - UserDef.kSpecifyShiftBackSpaceKeyBehavior.render(fixWidth: contentWidth) - UserDef.kSpecifyShiftTabKeyBehavior.render(fixWidth: contentWidth) - UserDef.kSpecifyShiftSpaceKeyBehavior.render(fixWidth: contentWidth) + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kSpecifyShiftBackSpaceKeyBehavior.render(fixWidth: innerContentWidth) + UserDef.kSpecifyShiftTabKeyBehavior.render(fixWidth: innerContentWidth) + UserDef.kSpecifyShiftSpaceKeyBehavior.render(fixWidth: innerContentWidth) }?.boxed() - NSStackView.buildSection(width: contentWidth) { - UserDef.kUpperCaseLetterKeyBehavior.render(fixWidth: contentWidth) - UserDef.kNumPadCharInputBehavior.render(fixWidth: contentWidth) + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kUpperCaseLetterKeyBehavior.render(fixWidth: innerContentWidth) + UserDef.kNumPadCharInputBehavior.render(fixWidth: innerContentWidth) }?.boxed() - NSStackView.buildSection(width: contentWidth) { - UserDef.kSpecifyIntonationKeyBehavior.render(fixWidth: contentWidth) - UserDef.kAcceptLeadingIntonations.render(fixWidth: contentWidth) + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kSpecifyIntonationKeyBehavior.render(fixWidth: innerContentWidth) + UserDef.kAcceptLeadingIntonations.render(fixWidth: innerContentWidth) }?.boxed() NSView() } NSTabView.TabPage(title: "B") { - NSStackView.buildSection(width: contentWidth) { - UserDef.kChooseCandidateUsingSpace.render(fixWidth: contentWidth) - UserDef.kEscToCleanInputBuffer.render(fixWidth: contentWidth) - UserDef.kAlsoConfirmAssociatedCandidatesByEnter.render(fixWidth: contentWidth) - UserDef.kUseSpaceToCommitHighlightedSCPCCandidate.render(fixWidth: contentWidth) + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kChooseCandidateUsingSpace.render(fixWidth: innerContentWidth) + UserDef.kEscToCleanInputBuffer.render(fixWidth: innerContentWidth) + UserDef.kAlsoConfirmAssociatedCandidatesByEnter.render(fixWidth: innerContentWidth) + UserDef.kUseSpaceToCommitHighlightedSCPCCandidate.render(fixWidth: innerContentWidth) }?.boxed() - NSStackView.buildSection(width: contentWidth) { + NSStackView.buildSection(width: innerContentWidth) { if #available(macOS 12, *) { - UserDef.kShowNotificationsWhenTogglingCapsLock.render(fixWidth: contentWidth) + UserDef.kShowNotificationsWhenTogglingCapsLock.render(fixWidth: innerContentWidth) } - UserDef.kAlwaysShowTooltipTextsHorizontally.render(fixWidth: contentWidth) + UserDef.kAlwaysShowTooltipTextsHorizontally.render(fixWidth: innerContentWidth) if Date.isTodayTheDate(from: 0401) { - UserDef.kShouldNotFartInLieuOfBeep.render(fixWidth: contentWidth) { renderable in + UserDef.kShouldNotFartInLieuOfBeep.render(fixWidth: innerContentWidth) { renderable in renderable.currentControl?.target = self renderable.currentControl?.action = #selector(self.onFartControlChange(_:)) } @@ -64,18 +66,18 @@ public extension SettingsPanesCocoa { NSView() } NSTabView.TabPage(title: "C") { - NSStackView.buildSection(width: contentWidth) { - UserDef.kBypassNonAppleCapsLockHandling.render(fixWidth: contentWidth) - UserDef.kShareAlphanumericalModeStatusAcrossClients.render(fixWidth: contentWidth) + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kBypassNonAppleCapsLockHandling.render(fixWidth: innerContentWidth) + UserDef.kShareAlphanumericalModeStatusAcrossClients.render(fixWidth: innerContentWidth) if #available(macOS 10.15, *) { NSStackView.build(.vertical) { UserDef.kTogglingAlphanumericalModeWithLShift - .render(fixWidth: contentWidth) { renderable in + .render(fixWidth: innerContentWidth) { renderable in renderable.currentControl?.target = self renderable.currentControl?.action = #selector(self.syncShiftKeyUpChecker(_:)) } UserDef.kTogglingAlphanumericalModeWithRShift - .render(fixWidth: contentWidth) { renderable in + .render(fixWidth: innerContentWidth) { renderable in renderable.currentControl?.target = self renderable.currentControl?.action = #selector(self.syncShiftKeyUpChecker(_:)) } @@ -85,10 +87,10 @@ public extension SettingsPanesCocoa { ) strOSReq += "\n" strOSReq += "i18n:settings.shiftKeyASCIITogle.description".localized - strOSReq.makeNSLabel(descriptive: true, fixWidth: contentWidth) + strOSReq.makeNSLabel(descriptive: true, fixWidth: innerContentWidth) } } - UserDef.kShiftEisuToggleOffTogetherWithCapsLock.render(fixWidth: contentWidth) + UserDef.kShiftEisuToggleOffTogetherWithCapsLock.render(fixWidth: innerContentWidth) }?.boxed() NSView() } diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaCandidates.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaCandidates.swift index 35879ffd..bc7cc835 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaCandidates.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaCandidates.swift @@ -12,9 +12,11 @@ import Shared public extension SettingsPanesCocoa { class Candidates: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 - 37 - let tabContainerWidth: CGFloat = 512 + 20 + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } override public func loadView() { view = body ?? .init() @@ -27,33 +29,33 @@ public extension SettingsPanesCocoa { NSView().makeSimpleConstraint(.height, relation: .equal, value: 4) NSTabView.build { NSTabView.TabPage(title: "A") { - NSStackView.buildSection(width: contentWidth) { - UserDef.kUseHorizontalCandidateList.render(fixWidth: contentWidth) - UserDef.kCandidateListTextSize.render(fixWidth: contentWidth) { renderable in + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kUseHorizontalCandidateList.render(fixWidth: innerContentWidth) + UserDef.kCandidateListTextSize.render(fixWidth: innerContentWidth) { renderable in renderable.currentControl?.target = self renderable.currentControl?.action = #selector(self.candidateFontSizeDidSet(_:)) } - UserDef.kCandidateWindowShowOnlyOneLine.render(fixWidth: contentWidth) - UserDef.kAlwaysExpandCandidateWindow.render(fixWidth: contentWidth) - UserDef.kRespectClientAccentColor.render(fixWidth: contentWidth) + UserDef.kCandidateWindowShowOnlyOneLine.render(fixWidth: innerContentWidth) + UserDef.kAlwaysExpandCandidateWindow.render(fixWidth: innerContentWidth) + UserDef.kRespectClientAccentColor.render(fixWidth: innerContentWidth) }?.boxed() NSView() } NSTabView.TabPage(title: "B") { - NSStackView.buildSection(width: contentWidth) { - UserDef.kCandidateKeys.render(fixWidth: contentWidth) { renderable in + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kCandidateKeys.render(fixWidth: innerContentWidth) { renderable in renderable.currentControl?.target = self renderable.currentControl?.action = #selector(self.candidateKeysDidSet(_:)) renderable.currentControl?.alignment = .right } }?.boxed() - NSStackView.buildSection(width: contentWidth) { - UserDef.kUseRearCursorMode.render(fixWidth: contentWidth) - UserDef.kMoveCursorAfterSelectingCandidate.render(fixWidth: contentWidth) - UserDef.kUseDynamicCandidateWindowOrigin.render(fixWidth: contentWidth) - UserDef.kDodgeInvalidEdgeCandidateCursorPosition.render(fixWidth: contentWidth) + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kUseRearCursorMode.render(fixWidth: innerContentWidth) + UserDef.kMoveCursorAfterSelectingCandidate.render(fixWidth: innerContentWidth) + UserDef.kUseDynamicCandidateWindowOrigin.render(fixWidth: innerContentWidth) + UserDef.kDodgeInvalidEdgeCandidateCursorPosition.render(fixWidth: innerContentWidth) UserDef.kUseJKtoMoveCompositorCursorInCandidateState - .render(fixWidth: contentWidth) { renderable in + .render(fixWidth: innerContentWidth) { renderable in renderable.currentControl?.target = self renderable.currentControl?.action = #selector(self.useJKToMoveBufferCursorDidSet(_:)) } @@ -61,15 +63,15 @@ public extension SettingsPanesCocoa { NSView() } NSTabView.TabPage(title: "C") { - NSStackView.buildSection(width: contentWidth) { - UserDef.kShowReverseLookupInCandidateUI.render(fixWidth: contentWidth) - UserDef.kUseFixedCandidateOrderOnSelection.render(fixWidth: contentWidth) - UserDef.kConsolidateContextOnCandidateSelection.render(fixWidth: contentWidth) + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kShowReverseLookupInCandidateUI.render(fixWidth: innerContentWidth) + UserDef.kUseFixedCandidateOrderOnSelection.render(fixWidth: innerContentWidth) + UserDef.kConsolidateContextOnCandidateSelection.render(fixWidth: innerContentWidth) }?.boxed() - NSStackView.buildSection(width: contentWidth) { - UserDef.kEnableMouseScrollingForTDKCandidatesCocoa.render(fixWidth: contentWidth) + NSStackView.buildSection(width: innerContentWidth) { + UserDef.kEnableMouseScrollingForTDKCandidatesCocoa.render(fixWidth: innerContentWidth) NSStackView.build(.horizontal) { - "Where's IMK Candidate Window?".makeNSLabel(fixWidth: contentWidth) + "Where's IMK Candidate Window?".makeNSLabel(fixWidth: innerContentWidth) NSView() NSButton(verbatim: "...", target: self, action: #selector(whereIsIMKCandidatesWindow(_:))) } diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaCassette.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaCassette.swift index 7411e4ee..26d7398e 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaCassette.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaCassette.swift @@ -13,8 +13,11 @@ import Shared public extension SettingsPanesCocoa { class Cassette: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } let pctCassetteFilePath: NSPathControl = .init() override public func loadView() { @@ -69,7 +72,7 @@ public extension SettingsPanesCocoa { pathCtl.setContentHuggingPriority(.defaultHigh, for: .vertical) pathCtl.setContentCompressionResistancePriority(.defaultHigh, for: .horizontal) pathCtl.makeSimpleConstraint(.height, relation: .equal, value: NSFont.smallSystemFontSize * 2) - pathCtl.makeSimpleConstraint(.width, relation: .greaterThanOrEqual, value: 432) + pathCtl.makeSimpleConstraint(.width, relation: .greaterThanOrEqual, value: windowWidth - 145) let currentPath = LMMgr.cassettePath() pathCtl.url = currentPath.isEmpty ? nil : URL(fileURLWithPath: LMMgr.cassettePath()) pathCtl.toolTip = "Please drag the desired target from Finder to this place.".localized diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaDevZone.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaDevZone.swift index eec54622..396ef744 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaDevZone.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaDevZone.swift @@ -12,8 +12,11 @@ import Shared public extension SettingsPanesCocoa { class DevZone: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } override public func loadView() { view = body ?? .init() diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaDictionary.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaDictionary.swift index fa4c481c..9482acea 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaDictionary.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaDictionary.swift @@ -14,8 +14,11 @@ import Shared public extension SettingsPanesCocoa { class Dictionary: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } let pctUserDictionaryFolder: NSPathControl = .init() let dragRetrieverKimo: NSFileDragRetrieverButton = .init() @@ -108,7 +111,7 @@ public extension SettingsPanesCocoa { pathCtl.setContentHuggingPriority(.defaultHigh, for: .vertical) pathCtl.setContentCompressionResistancePriority(.defaultHigh, for: .horizontal) pathCtl.makeSimpleConstraint(.height, relation: .equal, value: NSFont.smallSystemFontSize * 2) - pathCtl.makeSimpleConstraint(.width, relation: .greaterThanOrEqual, value: 432) + pathCtl.makeSimpleConstraint(.width, relation: .greaterThanOrEqual, value: windowWidth - 145) pathCtl.url = URL(fileURLWithPath: LMMgr.dataFolderPath(isDefaultFolder: false)) pathCtl.toolTip = "Please drag the desired target from Finder to this place.".localized } diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaGeneral.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaGeneral.swift index 695a8109..695ceb58 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaGeneral.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaGeneral.swift @@ -12,9 +12,11 @@ import Shared public extension SettingsPanesCocoa { class General: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 - var contentHalfWidth: CGFloat { contentWidth / 2 - 4 } + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } var currentLanguageSelectItem: NSMenuItem? let btnLangSelector = NSPopUpButton() let languages = ["auto", "en", "zh-Hans", "zh-Hant", "ja"] diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaKeyboard.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaKeyboard.swift index 671baae1..3ca69f8d 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaKeyboard.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaKeyboard.swift @@ -13,9 +13,11 @@ import Shared public extension SettingsPanesCocoa { class Keyboard: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 - var contentHalfWidth: CGFloat { contentWidth / 2 - 4 } + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } override public func loadView() { view = body ?? .init() diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaOutput.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaOutput.swift index f8ca4054..46213f79 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaOutput.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaOutput.swift @@ -12,8 +12,11 @@ import Shared public extension SettingsPanesCocoa { class Output: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } override public func loadView() { view = body ?? .init() diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaPhrases.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaPhrases.swift index ec9646ea..8c389c23 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaPhrases.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/VwrSettingsPaneCocoaPhrases.swift @@ -13,8 +13,11 @@ import Shared public extension SettingsPanesCocoa { class Phrases: NSViewController { - let windowWidth: CGFloat = 577 - let contentWidth: CGFloat = 512 + var windowWidth: CGFloat { SettingsPanesCocoa.windowWidth } + var contentWidth: CGFloat { SettingsPanesCocoa.contentWidth } + var innerContentWidth: CGFloat { SettingsPanesCocoa.innerContentWidth } + var tabContainerWidth: CGFloat { SettingsPanesCocoa.tabContainerWidth } + var contentHalfWidth: CGFloat { SettingsPanesCocoa.contentHalfWidth } let cmbPEInputModeMenu = NSPopUpButton() let cmbPEDataTypeMenu = NSPopUpButton() let btnPEReload = NSButton()