LMI // Apply GCD to all functions loading user dictionaries.

This commit is contained in:
ShikiSuen 2022-09-21 00:25:02 +08:00
parent d5ce4f29ad
commit 9a58893585
1 changed files with 50 additions and 36 deletions

View File

@ -129,60 +129,74 @@ extension vChewingLM {
} }
} }
// Async LMMgr Async GCD
public func loadUserPhrasesData(path: String, filterPath: String) { public func loadUserPhrasesData(path: String, filterPath: String) {
if FileManager.default.isReadableFile(atPath: path) { DispatchQueue.main.async {
lmUserPhrases.close() if FileManager.default.isReadableFile(atPath: path) {
lmUserPhrases.open(path) self.lmUserPhrases.close()
vCLog("lmUserPhrases: \(lmUserPhrases.count) entries of data loaded from: \(path)") self.lmUserPhrases.open(path)
} else { vCLog("lmUserPhrases: \(self.lmUserPhrases.count) entries of data loaded from: \(path)")
vCLog("lmUserPhrases: File access failure: \(path)") } else {
vCLog("lmUserPhrases: File access failure: \(path)")
}
} }
if FileManager.default.isReadableFile(atPath: filterPath) { DispatchQueue.main.async {
lmFiltered.close() if FileManager.default.isReadableFile(atPath: filterPath) {
lmFiltered.open(filterPath) self.lmFiltered.close()
vCLog("lmFiltered: \(lmFiltered.count) entries of data loaded from: \(path)") self.lmFiltered.open(filterPath)
} else { vCLog("lmFiltered: \(self.lmFiltered.count) entries of data loaded from: \(path)")
vCLog("lmFiltered: File access failure: \(path)") } else {
vCLog("lmFiltered: File access failure: \(path)")
}
} }
} }
public func loadUserSymbolData(path: String) { public func loadUserSymbolData(path: String) {
if FileManager.default.isReadableFile(atPath: path) { DispatchQueue.main.async {
lmUserSymbols.close() if FileManager.default.isReadableFile(atPath: path) {
lmUserSymbols.open(path) self.lmUserSymbols.close()
vCLog("lmUserSymbol: \(lmUserSymbols.count) entries of data loaded from: \(path)") self.lmUserSymbols.open(path)
} else { vCLog("lmUserSymbol: \(self.lmUserSymbols.count) entries of data loaded from: \(path)")
vCLog("lmUserSymbol: File access failure: \(path)") } else {
vCLog("lmUserSymbol: File access failure: \(path)")
}
} }
} }
public func loadUserAssociatesData(path: String) { public func loadUserAssociatesData(path: String) {
if FileManager.default.isReadableFile(atPath: path) { DispatchQueue.main.async {
lmAssociates.close() if FileManager.default.isReadableFile(atPath: path) {
lmAssociates.open(path) self.lmAssociates.close()
vCLog("lmAssociates: \(lmAssociates.count) entries of data loaded from: \(path)") self.lmAssociates.open(path)
} else { vCLog("lmAssociates: \(self.lmAssociates.count) entries of data loaded from: \(path)")
vCLog("lmAssociates: File access failure: \(path)") } else {
vCLog("lmAssociates: File access failure: \(path)")
}
} }
} }
public func loadReplacementsData(path: String) { public func loadReplacementsData(path: String) {
if FileManager.default.isReadableFile(atPath: path) { DispatchQueue.main.async {
lmReplacements.close() if FileManager.default.isReadableFile(atPath: path) {
lmReplacements.open(path) self.lmReplacements.close()
vCLog("lmReplacements: \(lmReplacements.count) entries of data loaded from: \(path)") self.lmReplacements.open(path)
} else { vCLog("lmReplacements: \(self.lmReplacements.count) entries of data loaded from: \(path)")
vCLog("lmReplacements: File access failure: \(path)") } else {
vCLog("lmReplacements: File access failure: \(path)")
}
} }
} }
public func loadUserSCPCSequencesData(path: String) { public func loadUserSCPCSequencesData(path: String) {
if FileManager.default.isReadableFile(atPath: path) { DispatchQueue.main.async {
lmPlainBopomofo.close() if FileManager.default.isReadableFile(atPath: path) {
lmPlainBopomofo.open(path) self.lmPlainBopomofo.close()
vCLog("lmPlainBopomofo: \(lmPlainBopomofo.count) entries of data loaded from: \(path)") self.lmPlainBopomofo.open(path)
} else { vCLog("lmPlainBopomofo: \(self.lmPlainBopomofo.count) entries of data loaded from: \(path)")
vCLog("lmPlainBopomofo: File access failure: \(path)") } else {
vCLog("lmPlainBopomofo: File access failure: \(path)")
}
} }
} }