From 59be792ee1c39a2868ad996056f504f02753fe73 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 6 Mar 2022 22:14:21 +0800 Subject: [PATCH] Pref // + symbolInputEnabled & toggleSymbolInputEnabled. --- .../Modules/IMEModules/PreferencesModule.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Source/Modules/IMEModules/PreferencesModule.swift b/Source/Modules/IMEModules/PreferencesModule.swift index c5b73ad9..1dc1a424 100644 --- a/Source/Modules/IMEModules/PreferencesModule.swift +++ b/Source/Modules/IMEModules/PreferencesModule.swift @@ -35,6 +35,7 @@ private let kUseHorizontalCandidateListPreference = "UseHorizontalCandidateList" private let kComposingBufferSizePreference = "ComposingBufferSize" private let kChooseCandidateUsingSpace = "ChooseCandidateUsingSpace" private let kCNS11643Enabled = "CNS11643Enabled" +private let kSymbolInputEnabled = "SymbolInputEnabled" private let kChineseConversionEnabled = "ChineseConversionEnabled" private let kShiftJISShinjitaiOutputEnabled = "ShiftJISShinjitaiOutputEnabled" private let kHalfWidthPunctuationEnabled = "HalfWidthPunctuationEnable" @@ -230,6 +231,7 @@ struct ComposingBufferSize { kComposingBufferSizePreference, kChooseCandidateUsingSpace, kCNS11643Enabled, + kSymbolInputEnabled, kChineseConversionEnabled, kShiftJISShinjitaiOutputEnabled, kHalfWidthPunctuationEnabled, @@ -272,6 +274,11 @@ struct ComposingBufferSize { UserDefaults.standard.set(Preferences.showPageButtonsInCandidateWindow, forKey: kShowPageButtonsInCandidateWindow) } + // 預設啟用繪文字與符號輸入 + if UserDefaults.standard.object(forKey: kSymbolInputEnabled) == nil { + UserDefaults.standard.set(Preferences.symbolInputEnabled, forKey: kSymbolInputEnabled) + } + // 預設選字窗字詞文字尺寸,設成 18 剛剛好 if UserDefaults.standard.object(forKey: kCandidateListTextSize) == nil { UserDefaults.standard.set(Preferences.candidateListTextSize, forKey: kCandidateListTextSize) @@ -436,6 +443,16 @@ struct ComposingBufferSize { return cns11643Enabled } + @UserDefault(key: kSymbolInputEnabled, defaultValue: true) + @objc static var symbolInputEnabled: Bool + + @objc static func toggleSymbolInputEnabled() -> Bool { + symbolInputEnabled = !symbolInputEnabled + mgrLangModel.setSymbolEnabled(symbolInputEnabled) // 很重要 + UserDefaults.standard.set(symbolInputEnabled, forKey: kSymbolInputEnabled) + return symbolInputEnabled + } + @UserDefault(key: kChineseConversionEnabled, defaultValue: false) @objc static var chineseConversionEnabled: Bool