From 07f8d237b1e0850356d4c9ba313b7c42248e8b40 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 10 Apr 2022 14:18:00 +0800 Subject: [PATCH] PrefUI // Use different pane widths per each UI language. --- Source/UI/PrefUI/suiPrefPaneDictionary.swift | 13 ++++++++++++- Source/UI/PrefUI/suiPrefPaneExperience.swift | 13 ++++++++++++- Source/UI/PrefUI/suiPrefPaneGeneral.swift | 14 ++++++++++++-- Source/UI/PrefUI/suiPrefPaneKeyboard.swift | 13 ++++++++++++- 4 files changed, 48 insertions(+), 5 deletions(-) diff --git a/Source/UI/PrefUI/suiPrefPaneDictionary.swift b/Source/UI/PrefUI/suiPrefPaneDictionary.swift index c99cf168..fe9d0405 100644 --- a/Source/UI/PrefUI/suiPrefPaneDictionary.swift +++ b/Source/UI/PrefUI/suiPrefPaneDictionary.swift @@ -35,7 +35,18 @@ struct suiPrefPaneDictionary: View { @State private var selEnableCNS11643: Bool = UserDefaults.standard.bool(forKey: UserDef.kCNS11643Enabled) @State private var selEnableSymbolInputSupport: Bool = UserDefaults.standard.bool( forKey: UserDef.kSymbolInputEnabled) - private let contentWidth: Double = 560.0 + private let contentWidth: Double = { + switch mgrPrefs.appleLanguages[0] { + case "ja": + return 520 + default: + if mgrPrefs.appleLanguages[0].contains("zh-Han") { + return 480 + } else { + return 550 + } + } + }() var body: some View { Preferences.Container(contentWidth: contentWidth) { diff --git a/Source/UI/PrefUI/suiPrefPaneExperience.swift b/Source/UI/PrefUI/suiPrefPaneExperience.swift index 55c40fc8..c91b6a80 100644 --- a/Source/UI/PrefUI/suiPrefPaneExperience.swift +++ b/Source/UI/PrefUI/suiPrefPaneExperience.swift @@ -45,7 +45,18 @@ struct suiPrefPaneExperience: View { @State private var selKeyBehaviorESCForClearingTheBuffer = UserDefaults.standard.bool( forKey: UserDef.kEscToCleanInputBuffer) @State private var selEnableSCPCTypingMode = UserDefaults.standard.bool(forKey: UserDef.kUseSCPCTypingMode) - private let contentWidth: Double = 560.0 + private let contentWidth: Double = { + switch mgrPrefs.appleLanguages[0] { + case "ja": + return 520 + default: + if mgrPrefs.appleLanguages[0].contains("zh-Han") { + return 480 + } else { + return 550 + } + } + }() var body: some View { Preferences.Container(contentWidth: contentWidth) { diff --git a/Source/UI/PrefUI/suiPrefPaneGeneral.swift b/Source/UI/PrefUI/suiPrefPaneGeneral.swift index d8b544bc..bf105adc 100644 --- a/Source/UI/PrefUI/suiPrefPaneGeneral.swift +++ b/Source/UI/PrefUI/suiPrefPaneGeneral.swift @@ -46,8 +46,18 @@ struct suiPrefPaneGeneral: View { @State private var selEnableFartSuppressor = UserDefaults.standard.bool(forKey: UserDef.kShouldNotFartInLieuOfBeep) @State private var selEnableAutoUpdateCheck = UserDefaults.standard.bool(forKey: UserDef.kCheckUpdateAutomatically) @State private var selEnableDebugMode = UserDefaults.standard.bool(forKey: UserDef.kIsDebugModeEnabled) - - private let contentWidth: Double = 560.0 + private let contentWidth: Double = { + switch mgrPrefs.appleLanguages[0] { + case "ja": + return 465 + default: + if mgrPrefs.appleLanguages[0].contains("zh-Han") { + return 450 + } else { + return 550 + } + } + }() var body: some View { Preferences.Container(contentWidth: contentWidth) { diff --git a/Source/UI/PrefUI/suiPrefPaneKeyboard.swift b/Source/UI/PrefUI/suiPrefPaneKeyboard.swift index 93772500..896faee5 100644 --- a/Source/UI/PrefUI/suiPrefPaneKeyboard.swift +++ b/Source/UI/PrefUI/suiPrefPaneKeyboard.swift @@ -29,7 +29,18 @@ struct suiPrefPaneKeyboard: View { @State private var selMandarinParser = UserDefaults.standard.integer(forKey: UserDef.kMandarinParser) @State private var selBasicKeyboardLayout: String = UserDefaults.standard.string(forKey: UserDef.kBasicKeyboardLayout) ?? mgrPrefs.basicKeyboardLayout - private let contentWidth: Double = 560.0 + private let contentWidth: Double = { + switch mgrPrefs.appleLanguages[0] { + case "ja": + return 520 + default: + if mgrPrefs.appleLanguages[0].contains("zh-Han") { + return 480 + } else { + return 550 + } + } + }() var body: some View { Preferences.Container(contentWidth: contentWidth) {