Repo // Lazy-load certain user-space language models.

This commit is contained in:
ShikiSuen 2022-08-10 09:06:23 +08:00
parent 79ffff39f4
commit 6b3227ad98
2 changed files with 38 additions and 14 deletions

View File

@ -77,9 +77,15 @@ public enum IME {
// mgrLangModel loadUserPhrases dataFolderPath // mgrLangModel loadUserPhrases dataFolderPath
// //
// //
mgrLangModel.loadUserAssociatesData() if mgrPrefs.associatedPhrasesEnabled {
mgrLangModel.loadUserPhraseReplacement() mgrLangModel.loadUserAssociatesData()
mgrLangModel.loadUserSCPCSequencesData() }
if mgrPrefs.phraseReplacementEnabled {
mgrLangModel.loadUserPhraseReplacement()
}
if mgrPrefs.useSCPCTypingMode {
mgrLangModel.loadUserSCPCSequencesData()
}
mgrLangModel.loadUserPhrasesData() mgrLangModel.loadUserPhrasesData()
if !userOnly { if !userOnly {
// mgrLangModel.loadDataModels() // mgrLangModel.loadDataModels()

View File

@ -388,15 +388,6 @@ public enum mgrPrefs {
mgrPrefs.allowBoostingSingleKanjiAsUserPhrase ? 1 : 2 mgrPrefs.allowBoostingSingleKanjiAsUserPhrase ? 1 : 2
} }
@UserDefault(key: UserDef.kUseSCPCTypingMode.rawValue, defaultValue: false)
static var useSCPCTypingMode: Bool
static func toggleSCPCTypingModeEnabled() -> Bool {
useSCPCTypingMode = !useSCPCTypingMode
UserDefaults.standard.set(useSCPCTypingMode, forKey: UserDef.kUseSCPCTypingMode.rawValue)
return useSCPCTypingMode
}
@UserDefault(key: UserDef.kMaxCandidateLength.rawValue, defaultValue: 10) @UserDefault(key: UserDef.kMaxCandidateLength.rawValue, defaultValue: 10)
static var maxCandidateLength: Int static var maxCandidateLength: Int
@ -564,8 +555,29 @@ public enum mgrPrefs {
} }
} }
@UserDefault(key: UserDef.kUseSCPCTypingMode.rawValue, defaultValue: false)
static var useSCPCTypingMode: Bool {
willSet {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) {
mgrLangModel.loadUserSCPCSequencesData()
}
}
}
static func toggleSCPCTypingModeEnabled() -> Bool {
useSCPCTypingMode = !useSCPCTypingMode
UserDefaults.standard.set(useSCPCTypingMode, forKey: UserDef.kUseSCPCTypingMode.rawValue)
return useSCPCTypingMode
}
@UserDefault(key: UserDef.kPhraseReplacementEnabled.rawValue, defaultValue: false) @UserDefault(key: UserDef.kPhraseReplacementEnabled.rawValue, defaultValue: false)
static var phraseReplacementEnabled: Bool static var phraseReplacementEnabled: Bool {
willSet {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) {
mgrLangModel.loadUserPhraseReplacement()
}
}
}
static func togglePhraseReplacementEnabled() -> Bool { static func togglePhraseReplacementEnabled() -> Bool {
phraseReplacementEnabled = !phraseReplacementEnabled phraseReplacementEnabled = !phraseReplacementEnabled
@ -575,7 +587,13 @@ public enum mgrPrefs {
} }
@UserDefault(key: UserDef.kAssociatedPhrasesEnabled.rawValue, defaultValue: false) @UserDefault(key: UserDef.kAssociatedPhrasesEnabled.rawValue, defaultValue: false)
static var associatedPhrasesEnabled: Bool static var associatedPhrasesEnabled: Bool {
willSet {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) {
mgrLangModel.loadUserAssociatesData()
}
}
}
static func toggleAssociatedPhrasesEnabled() -> Bool { static func toggleAssociatedPhrasesEnabled() -> Bool {
associatedPhrasesEnabled = !associatedPhrasesEnabled associatedPhrasesEnabled = !associatedPhrasesEnabled