diff --git a/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift b/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift index d4c4c737..1cd57c99 100644 --- a/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift +++ b/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift @@ -53,6 +53,7 @@ public protocol PrefMgrProtocol { var forceCassetteChineseConversion: Int { get set } var showReverseLookupInCandidateUI: Bool { get set } var autoCompositeWithLongestPossibleCassetteKey: Bool { get set } + var shareAlphanumericalModeStatusAcrossClients: Bool { get set } var cns11643Enabled: Bool { get set } var cassetteEnabled: Bool { get set } var symbolInputEnabled: Bool { get set } diff --git a/Packages/vChewing_Shared/Sources/Shared/Shared.swift b/Packages/vChewing_Shared/Sources/Shared/Shared.swift index 910f841d..650087a0 100644 --- a/Packages/vChewing_Shared/Sources/Shared/Shared.swift +++ b/Packages/vChewing_Shared/Sources/Shared/Shared.swift @@ -66,6 +66,7 @@ public enum UserDef: String, CaseIterable { case kForceCassetteChineseConversion = "ForceCassetteChineseConversion" case kShowReverseLookupInCandidateUI = "ShowReverseLookupInCandidateUI" case kAutoCompositeWithLongestPossibleCassetteKey = "AutoCompositeWithLongestPossibleCassetteKey" + case kShareAlphanumericalModeStatusAcrossClients = "ShareAlphanumericalModeStatusAcrossClients" case kUseIMKCandidateWindow = "UseIMKCandidateWindow" case kHandleDefaultCandidateFontsByLangIdentifier = "HandleDefaultCandidateFontsByLangIdentifier" diff --git a/Source/Modules/PrefMgr_Core.swift b/Source/Modules/PrefMgr_Core.swift index 22a1829a..81c8a1a1 100644 --- a/Source/Modules/PrefMgr_Core.swift +++ b/Source/Modules/PrefMgr_Core.swift @@ -152,6 +152,9 @@ public class PrefMgr: PrefMgrProtocol { @AppProperty(key: UserDef.kAutoCompositeWithLongestPossibleCassetteKey.rawValue, defaultValue: true) public var autoCompositeWithLongestPossibleCassetteKey: Bool + @AppProperty(key: UserDef.kShareAlphanumericalModeStatusAcrossClients.rawValue, defaultValue: false) + public var shareAlphanumericalModeStatusAcrossClients: Bool + // MARK: - Settings (Tier 2) @AppProperty(key: UserDef.kUseIMKCandidateWindow.rawValue, defaultValue: false) diff --git a/Source/Modules/PrefMgr_Extension.swift b/Source/Modules/PrefMgr_Extension.swift index e3108b84..f84fef96 100644 --- a/Source/Modules/PrefMgr_Extension.swift +++ b/Source/Modules/PrefMgr_Extension.swift @@ -20,6 +20,7 @@ extension PrefMgr { disableShiftTogglingAlphanumericalMode = true togglingAlphanumericalModeWithLShift = false showReverseLookupInCandidateUI = false + shareAlphanumericalModeStatusAcrossClients = false } // 自動糾正選字鍵 (利用其 didSet 特性) candidateKeys = candidateKeys