diff --git a/Source/Base.lproj/preferences.xib b/Source/Base.lproj/preferences.xib index 2630f261..f5922a7b 100644 --- a/Source/Base.lproj/preferences.xib +++ b/Source/Base.lproj/preferences.xib @@ -227,6 +227,9 @@ + + + diff --git a/Source/Engine/vChewing/clsOOBEDefaults.swift b/Source/Engine/vChewing/clsOOBEDefaults.swift index 324cf355..8e82b9c5 100644 --- a/Source/Engine/vChewing/clsOOBEDefaults.swift +++ b/Source/Engine/vChewing/clsOOBEDefaults.swift @@ -15,6 +15,7 @@ private let kChooseCandidateUsingSpaceKey = "ChooseCandidateUsingSpaceKey" private let kUseWinNT351BPMF = "UseWinNT351BPMF" private let kSelectPhraseAfterCursorAsCandidate = "SelectPhraseAfterCursorAsCandidate" private let kUseHorizontalCandidateList = "UseHorizontalCandidateList" +private let kCNS11643EnabledKey = "CNS11643Enabled" private let kChineseConversionEnabledKey = "ChineseConversionEnabled" private let kPhraseReplacementEnabledKey = "PhraseReplacementEnabled" @@ -54,6 +55,11 @@ private let kPhraseReplacementEnabledKey = "PhraseReplacementEnabled" UserDefaults.standard.set(Preferences.useHorizontalCandidateList, forKey: kUseHorizontalCandidateList) } + // 預設停用全字庫支援 + if UserDefaults.standard.object(forKey: kCNS11643EnabledKey) == nil { + UserDefaults.standard.set(Preferences.cns11643Enabled, forKey: kCNS11643EnabledKey) + } + // 預設停用繁體轉康熙模組 if UserDefaults.standard.object(forKey: kChineseConversionEnabledKey) == nil { UserDefaults.standard.set(Preferences.chineseConversionEnabled, forKey: kChineseConversionEnabledKey) diff --git a/Source/PreferencesModule.swift b/Source/PreferencesModule.swift index e0d791c4..7d9d0c02 100644 --- a/Source/PreferencesModule.swift +++ b/Source/PreferencesModule.swift @@ -17,6 +17,7 @@ private let kSelectPhraseAfterCursorAsCandidatePreferenceKey = "SelectPhraseAfte private let kUseHorizontalCandidateListPreferenceKey = "UseHorizontalCandidateList" private let kComposingBufferSizePreferenceKey = "ComposingBufferSize" private let kChooseCandidateUsingSpaceKey = "ChooseCandidateUsingSpaceKey" +private let kCNS11643EnabledKey = "CNS11643Enabled" private let kChineseConversionEnabledKey = "ChineseConversionEnabled" private let kHalfWidthPunctuationEnabledKey = "HalfWidthPunctuationEnable" private let kEscToCleanInputBufferKey = "EscToCleanInputBuffer" @@ -175,6 +176,7 @@ struct ComposingBufferSize { defaults.removeObject(forKey: kUseHorizontalCandidateListPreferenceKey) defaults.removeObject(forKey: kComposingBufferSizePreferenceKey) defaults.removeObject(forKey: kChooseCandidateUsingSpaceKey) + defaults.removeObject(forKey: kCNS11643EnabledKey) defaults.removeObject(forKey: kChineseConversionEnabledKey) defaults.removeObject(forKey: kHalfWidthPunctuationEnabledKey) defaults.removeObject(forKey: kEscToCleanInputBufferKey) @@ -240,6 +242,15 @@ struct ComposingBufferSize { return shouldNotFartInLieuOfBeep } + @UserDefault(key: kCNS11643EnabledKey, defaultValue: false) + @objc static var cns11643Enabled: Bool + + @objc static func toggleCNS11643Enabled() -> Bool { + cns11643Enabled = !cns11643Enabled + UserDefaults.standard.set(cns11643Enabled, forKey: kCNS11643EnabledKey) + return cns11643Enabled + } + @UserDefault(key: kChineseConversionEnabledKey, defaultValue: false) @objc static var chineseConversionEnabled: Bool