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 // MARK: - Private Functions
extension AppDelegate { extension AppDelegate {
private func reloadOnFolderChangeHappens() { private func reloadOnFolderChangeHappens(forced: Bool = true) {
// 100ms 使使 // 100ms 使使
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1) { DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1) {
if #available(macOS 10.15, *) { FileObserveProject.shared.touch() } // forced
if PrefMgr.shared.phraseEditorAutoReloadExternalModifications { // initUserLangModels()
CtlPrefWindow.shared?.updatePhraseEditor() 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 folderMonitor.folderDidChange = { [weak self] in
self?.reloadOnFolderChangeHappens() self?.reloadOnFolderChangeHappens()
} }
if LMMgr.userDataFolderExists { folderMonitor.startMonitoring() } if LMMgr.userDataFolderExists { // FolderMonitor
folderMonitor.startMonitoring()
reloadOnFolderChangeHappens(forced: true)
}
} }
public func selfUninstall() { public func selfUninstall() {