From 4e038ed27ea6c404ad80479a864ffdd67b172ed5 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Fri, 19 Aug 2022 22:38:04 +0800 Subject: [PATCH] Pref // Disable certain options when IMKCandidates is enabled. --- Source/Modules/IMEModules/mgrPrefs.swift | 8 ++++++- .../UIModules/PrefUI/suiPrefPaneGeneral.swift | 2 ++ .../PrefUI/suiPrefPaneKeyboard.swift | 2 +- .../WindowNIBs/Base.lproj/frmPrefWindow.xib | 23 ++++++++++++++++--- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/Source/Modules/IMEModules/mgrPrefs.swift b/Source/Modules/IMEModules/mgrPrefs.swift index 99c4927b..37451445 100644 --- a/Source/Modules/IMEModules/mgrPrefs.swift +++ b/Source/Modules/IMEModules/mgrPrefs.swift @@ -551,7 +551,13 @@ public enum mgrPrefs { static var candidateKeyLabelFontName: String? @UserDefault(key: UserDef.kCandidateKeys.rawValue, defaultValue: kDefaultKeys) - static var candidateKeys: String + static var candidateKeys: String { + didSet { + if mgrPrefs.useIMKCandidateWindow { + mgrPrefs.candidateKeys = kDefaultKeys + } + } + } static var defaultCandidateKeys: String { kDefaultKeys diff --git a/Source/Modules/UIModules/PrefUI/suiPrefPaneGeneral.swift b/Source/Modules/UIModules/PrefUI/suiPrefPaneGeneral.swift index ffe1fdf0..a3ffb6d7 100644 --- a/Source/Modules/UIModules/PrefUI/suiPrefPaneGeneral.swift +++ b/Source/Modules/UIModules/PrefUI/suiPrefPaneGeneral.swift @@ -73,6 +73,7 @@ struct suiPrefPaneGeneral: View { } .labelsHidden() .frame(width: 120.0) + .disabled(mgrPrefs.useIMKCandidateWindow) Text(LocalizedStringKey("Choose candidate font size for better visual clarity.")) .preferenceDescription() } @@ -130,6 +131,7 @@ struct suiPrefPaneGeneral: View { } ) .controlSize(.small) + .disabled(mgrPrefs.useIMKCandidateWindow) } Preferences.Section(bottomDivider: true, label: { Text(LocalizedStringKey("Output Settings:")) }) { Toggle( diff --git a/Source/Modules/UIModules/PrefUI/suiPrefPaneKeyboard.swift b/Source/Modules/UIModules/PrefUI/suiPrefPaneKeyboard.swift index c5576600..aa74965e 100644 --- a/Source/Modules/UIModules/PrefUI/suiPrefPaneKeyboard.swift +++ b/Source/Modules/UIModules/PrefUI/suiPrefPaneKeyboard.swift @@ -67,7 +67,7 @@ struct suiPrefPaneKeyboard: View { } } } - ).frame(width: 180) + ).frame(width: 180).disabled(mgrPrefs.useIMKCandidateWindow) Text( LocalizedStringKey( "Choose or hit Enter to confim your prefered keys for selecting candidates." diff --git a/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib b/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib index d0536044..5d59da3c 100644 --- a/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib +++ b/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib @@ -139,6 +139,13 @@ + + + + NSNegateBoolean + + + @@ -255,6 +262,11 @@ + + + NSNegateBoolean + +