CNS // Phase 3: + Pref Entries & OOBE.

This commit is contained in:
ShikiSuen 2022-01-22 21:44:04 +08:00
parent 78c90cadea
commit 12a4436ea4
3 changed files with 20 additions and 0 deletions

View File

@ -227,6 +227,9 @@
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<connections>
<binding destination="32" name="value" keyPath="values.CNS11643Enabled" id="Pbx-Gt-upm"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5IL-zZ-CL9">
<rect key="frame" x="19" y="82.5" width="423" height="16"/>

View File

@ -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)

View File

@ -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