From 8b8ebbf14f53f25add2a7617253134e226a4c521 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sat, 15 Oct 2022 12:00:17 +0800 Subject: [PATCH] Prefs // Add properties regarding Cassette module. --- .../Shared/Protocols/PrefMgrProtocol.swift | 5 +++++ .../Sources/Shared/Shared.swift | 5 +++++ Source/Modules/PrefMgr_Core.swift | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift b/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift index 024a1fce..3c5531fb 100644 --- a/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift +++ b/Packages/vChewing_Shared/Sources/Shared/Protocols/PrefMgrProtocol.swift @@ -14,6 +14,7 @@ public protocol PrefMgrProtocol { var deltaOfCalendarYears: Int { get set } var mostRecentInputMode: String { get set } var checkUpdateAutomatically: Bool { get set } + var cassettePath: String { get set } var userDataFolderSpecified: String { get set } var appleLanguages: [String] { get set } var keyboardParser: Int { get set } @@ -48,7 +49,10 @@ public protocol PrefMgrProtocol { var shouldNotFartInLieuOfBeep: Bool { get set } var showHanyuPinyinInCompositionBuffer: Bool { get set } var inlineDumpPinyinInLieuOfZhuyin: Bool { get set } + var showTranslatedStrokesInCompositionBuffer: Bool { get set } + var forceCassetteChineseConversion: Int { get set } var cns11643Enabled: Bool { get set } + var cassetteEnabled: Bool { get set } var symbolInputEnabled: Bool { get set } var chineseConversionEnabled: Bool { get set } var shiftJISShinjitaiOutputEnabled: Bool { get set } @@ -71,4 +75,5 @@ public protocol PrefMgrProtocol { var usingHotKeyJIS: Bool { get set } var usingHotKeyHalfWidthASCII: Bool { get set } var usingHotKeyCurrencyNumerals: Bool { get set } + var usingHotKeyCassette: Bool { get set } } diff --git a/Packages/vChewing_Shared/Sources/Shared/Shared.swift b/Packages/vChewing_Shared/Sources/Shared/Shared.swift index f4c90d43..cf8c1bc9 100644 --- a/Packages/vChewing_Shared/Sources/Shared/Shared.swift +++ b/Packages/vChewing_Shared/Sources/Shared/Shared.swift @@ -16,6 +16,7 @@ public enum UserDef: String, CaseIterable { case kFailureFlagForUOMObservation = "_FailureFlag_UOMObservation" case kDeltaOfCalendarYears = "DeltaOfCalendarYears" case kMostRecentInputMode = "MostRecentInputMode" + case kCassettePath = "CassettePath" case kUserDataFolderSpecified = "UserDataFolderSpecified" case kCheckUpdateAutomatically = "CheckUpdateAutomatically" case kKeyboardParser = "KeyboardParser" @@ -28,6 +29,7 @@ public enum UserDef: String, CaseIterable { case kUseRearCursorMode = "UseRearCursorMode" case kUseHorizontalCandidateList = "UseHorizontalCandidateList" case kChooseCandidateUsingSpace = "ChooseCandidateUsingSpace" + case kCassetteEnabled = "CassetteEnabled" case kCNS11643Enabled = "CNS11643Enabled" case kSymbolInputEnabled = "SymbolInputEnabled" case kChineseConversionEnabled = "ChineseConversionEnabled" @@ -60,6 +62,8 @@ public enum UserDef: String, CaseIterable { case kAlwaysShowTooltipTextsHorizontally = "AlwaysShowTooltipTextsHorizontally" case kClientsIMKTextInputIncapable = "ClientsIMKTextInputIncapable" case kOnlyLoadFactoryLangModelsIfNeeded = "OnlyLoadFactoryLangModelsIfNeeded" + case kShowTranslatedStrokesInCompositionBuffer = "ShowTranslatedStrokesInCompositionBuffer" + case kForceCassetteChineseConversion = "ForceCassetteChineseConversion" case kUseIMKCandidateWindow = "UseIMKCandidateWindow" case kHandleDefaultCandidateFontsByLangIdentifier = "HandleDefaultCandidateFontsByLangIdentifier" @@ -78,6 +82,7 @@ public enum UserDef: String, CaseIterable { case kUsingHotKeyJIS = "UsingHotKeyJIS" case kUsingHotKeyHalfWidthASCII = "UsingHotKeyHalfWidthASCII" case kUsingHotKeyCurrencyNumerals = "UsingHotKeyCurrencyNumerals" + case kUsingHotKeyCassette = "UsingHotKeyCassette" public static func resetAll() { UserDef.allCases.forEach { diff --git a/Source/Modules/PrefMgr_Core.swift b/Source/Modules/PrefMgr_Core.swift index 05eed0df..1ec5c560 100644 --- a/Source/Modules/PrefMgr_Core.swift +++ b/Source/Modules/PrefMgr_Core.swift @@ -37,6 +37,9 @@ public class PrefMgr: PrefMgrProtocol { @AppProperty(key: UserDef.kCheckUpdateAutomatically.rawValue, defaultValue: false) public var checkUpdateAutomatically: Bool + @AppProperty(key: UserDef.kCassettePath.rawValue, defaultValue: "") + public var cassettePath: String + @AppProperty(key: UserDef.kUserDataFolderSpecified.rawValue, defaultValue: "") public var userDataFolderSpecified: String @@ -137,6 +140,12 @@ public class PrefMgr: PrefMgrProtocol { } } + @AppProperty(key: UserDef.kShowTranslatedStrokesInCompositionBuffer.rawValue, defaultValue: true) + public var showTranslatedStrokesInCompositionBuffer: Bool + + @AppProperty(key: UserDef.kForceCassetteChineseConversion.rawValue, defaultValue: 0) + public var forceCassetteChineseConversion: Int + // MARK: - Settings (Tier 2) @AppProperty(key: UserDef.kUseIMKCandidateWindow.rawValue, defaultValue: false) @@ -176,6 +185,13 @@ public class PrefMgr: PrefMgrProtocol { } } + @AppProperty(key: UserDef.kCassetteEnabled.rawValue, defaultValue: false) + public var cassetteEnabled: Bool { + didSet { + LMMgr.setCassetteEnabled(cassetteEnabled) // 很重要 + } + } + @AppProperty(key: UserDef.kChineseConversionEnabled.rawValue, defaultValue: false) public var chineseConversionEnabled: Bool { didSet { @@ -296,4 +312,7 @@ public class PrefMgr: PrefMgrProtocol { @AppProperty(key: UserDef.kUsingHotKeyCurrencyNumerals.rawValue, defaultValue: true) public var usingHotKeyCurrencyNumerals: Bool + + @AppProperty(key: UserDef.kUsingHotKeyCassette.rawValue, defaultValue: true) + public var usingHotKeyCassette: Bool }