AppDelegate // Reload user dictionary data after changing its folder.

- Also tweak the order in reloadOnFolderChangeHappens().
This commit is contained in:
ShikiSuen 2022-12-08 20:56:25 +08:00
parent 7b1892bd8d
commit 829bb8d16b
1 changed files with 13 additions and 6 deletions

View File

@ -23,14 +23,18 @@ public class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCen
// MARK: - Private Functions
extension AppDelegate {
private func reloadOnFolderChangeHappens() {
private func reloadOnFolderChangeHappens(forced: Bool = true) {
// 100ms 使使
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1) {
if #available(macOS 10.15, *) { FileObserveProject.shared.touch() }
if PrefMgr.shared.phraseEditorAutoReloadExternalModifications {
CtlPrefWindow.shared?.updatePhraseEditor()
// forced
// initUserLangModels()
if PrefMgr.shared.shouldAutoReloadUserDataFiles || forced { LMMgr.initUserLangModels() }
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1) {
if #available(macOS 10.15, *) { FileObserveProject.shared.touch() }
if PrefMgr.shared.phraseEditorAutoReloadExternalModifications {
CtlPrefWindow.shared?.updatePhraseEditor()
}
}
if PrefMgr.shared.shouldAutoReloadUserDataFiles { LMMgr.initUserLangModels() }
}
}
}
@ -85,7 +89,10 @@ extension AppDelegate {
folderMonitor.folderDidChange = { [weak self] in
self?.reloadOnFolderChangeHappens()
}
if LMMgr.userDataFolderExists { folderMonitor.startMonitoring() }
if LMMgr.userDataFolderExists { // FolderMonitor
folderMonitor.startMonitoring()
reloadOnFolderChangeHappens(forced: true)
}
}
public func selfUninstall() {