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
//
//
if mgrPrefs.associatedPhrasesEnabled {
mgrLangModel.loadUserAssociatesData()
}
if mgrPrefs.phraseReplacementEnabled {
mgrLangModel.loadUserPhraseReplacement()
}
if mgrPrefs.useSCPCTypingMode {
mgrLangModel.loadUserSCPCSequencesData()
}
mgrLangModel.loadUserPhrasesData()
if !userOnly {
// mgrLangModel.loadDataModels()

View File

@ -388,15 +388,6 @@ public enum mgrPrefs {
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)
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)
static var phraseReplacementEnabled: Bool
static var phraseReplacementEnabled: Bool {
willSet {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) {
mgrLangModel.loadUserPhraseReplacement()
}
}
}
static func togglePhraseReplacementEnabled() -> Bool {
phraseReplacementEnabled = !phraseReplacementEnabled
@ -575,7 +587,13 @@ public enum mgrPrefs {
}
@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 {
associatedPhrasesEnabled = !associatedPhrasesEnabled