mgrPrefs // Add options for keyboard hotkeys.

This commit is contained in:
ShikiSuen 2022-05-27 22:13:25 +08:00
parent bca5855313
commit 116360a05d
1 changed files with 34 additions and 40 deletions

View File

@ -63,6 +63,13 @@ struct UserDef {
static let kAssociatedPhrasesEnabled = "AssociatedPhrasesEnabled"
static let kPhraseReplacementEnabled = "PhraseReplacementEnabled"
static let kUsingHotKeySCPC = "UsingHotKeySCPC"
static let kUsingHotKeyAssociates = "UsingHotKeyAssociates"
static let kUsingHotKeyCNS = "UsingHotKeyCNS"
static let kUsingHotKeyKangXi = "UsingHotKeyKangXi"
static let kUsingHotKeyJIS = "UsingHotKeyJIS"
static let kUsingHotKeyHalfWidthASCII = "UsingHotKeyHalfWidthASCII"
}
private let kDefaultCandidateListTextSize: CGFloat = 18
@ -217,46 +224,6 @@ enum MandarinParser: Int {
// MARK: -
public enum mgrPrefs {
static var allKeys: [String] {
[
UserDef.kIsDebugModeEnabled,
UserDef.kUseScoreBalancing,
UserDef.kMostRecentInputMode,
UserDef.kUserDataFolderSpecified,
UserDef.kMandarinParser,
UserDef.kBasicKeyboardLayout,
UserDef.kShowPageButtonsInCandidateWindow,
UserDef.kCandidateListTextSize,
UserDef.kAppleLanguages,
UserDef.kShouldAutoReloadUserDataFiles,
UserDef.kSetRearCursorMode,
UserDef.kUseHorizontalCandidateList,
UserDef.kComposingBufferSize,
UserDef.kChooseCandidateUsingSpace,
UserDef.kCNS11643Enabled,
UserDef.kSymbolInputEnabled,
UserDef.kChineseConversionEnabled,
UserDef.kShiftJISShinjitaiOutputEnabled,
UserDef.kHalfWidthPunctuationEnabled,
UserDef.kSpecifyShiftTabKeyBehavior,
UserDef.kSpecifyShiftSpaceKeyBehavior,
UserDef.kEscToCleanInputBuffer,
UserDef.kCandidateTextFontName,
UserDef.kCandidateKeyLabelFontName,
UserDef.kCandidateKeys,
UserDef.kMoveCursorAfterSelectingCandidate,
UserDef.kPhraseReplacementEnabled,
UserDef.kUseSCPCTypingMode,
UserDef.kMaxCandidateLength,
UserDef.kShouldNotFartInLieuOfBeep,
UserDef.kShowHanyuPinyinInCompositionBuffer,
UserDef.kInlineDumpPinyinInLieuOfZhuyin,
UserDef.kAssociatedPhrasesEnabled,
]
}
// MARK: - Preferences Module plist
public static func setMissingDefaults() {
UserDefaults.standard.setDefault(mgrPrefs.isDebugModeEnabled, forKey: UserDef.kIsDebugModeEnabled)
UserDefaults.standard.setDefault(mgrPrefs.useScoreBalancing, forKey: UserDef.kUseScoreBalancing)
@ -302,6 +269,13 @@ public enum mgrPrefs {
mgrPrefs.inlineDumpPinyinInLieuOfZhuyin, forKey: UserDef.kInlineDumpPinyinInLieuOfZhuyin
)
UserDefaults.standard.setDefault(mgrPrefs.usingHotKeySCPC, forKey: UserDef.kUsingHotKeySCPC)
UserDefaults.standard.setDefault(mgrPrefs.usingHotKeyAssociates, forKey: UserDef.kUsingHotKeyAssociates)
UserDefaults.standard.setDefault(mgrPrefs.usingHotKeyCNS, forKey: UserDef.kUsingHotKeyCNS)
UserDefaults.standard.setDefault(mgrPrefs.usingHotKeyKangXi, forKey: UserDef.kUsingHotKeyKangXi)
UserDefaults.standard.setDefault(mgrPrefs.usingHotKeyJIS, forKey: UserDef.kUsingHotKeyJIS)
UserDefaults.standard.setDefault(mgrPrefs.usingHotKeyHalfWidthASCII, forKey: UserDef.kUsingHotKeyHalfWidthASCII)
UserDefaults.standard.synchronize()
}
@ -554,4 +528,24 @@ public enum mgrPrefs {
UserDefaults.standard.set(associatedPhrasesEnabled, forKey: UserDef.kAssociatedPhrasesEnabled)
return associatedPhrasesEnabled
}
// MARK: - Keyboard HotKey Enable / Disable
@UserDefault(key: UserDef.kUsingHotKeySCPC, defaultValue: true)
static var usingHotKeySCPC: Bool
@UserDefault(key: UserDef.kUsingHotKeyAssociates, defaultValue: true)
static var usingHotKeyAssociates: Bool
@UserDefault(key: UserDef.kUsingHotKeyCNS, defaultValue: true)
static var usingHotKeyCNS: Bool
@UserDefault(key: UserDef.kUsingHotKeyKangXi, defaultValue: true)
static var usingHotKeyKangXi: Bool
@UserDefault(key: UserDef.kUsingHotKeyJIS, defaultValue: true)
static var usingHotKeyJIS: Bool
@UserDefault(key: UserDef.kUsingHotKeyHalfWidthASCII, defaultValue: true)
static var usingHotKeyHalfWidthASCII: Bool
}