Repo // Ensure BookmarkMangager.

This commit is contained in:
ShikiSuen 2022-08-31 11:26:33 +08:00
parent 18596d5275
commit f300305f85
3 changed files with 33 additions and 32 deletions

View File

@ -354,7 +354,7 @@ enum mgrLangModel {
folderPath?.ensureTrailingSlash() folderPath?.ensureTrailingSlash()
} }
let isFolderWritable = FileManager.default.isWritableFile(atPath: folderPath ?? "") let isFolderWritable = FileManager.default.isWritableFile(atPath: folderPath ?? "")
// IME.prtDebugIntel("mgrLM: Exist: \(folderExist), IsFolder: \(isFolder.boolValue), isWritable: \(isFolderWritable)")
if ((folderExist && !isFolder.boolValue) || !folderExist) || !isFolderWritable { if ((folderExist && !isFolder.boolValue) || !folderExist) || !isFolderWritable {
return false return false
} }
@ -423,6 +423,7 @@ enum mgrLangModel {
return userDictPathDefault return userDictPathDefault
} }
if mgrPrefs.ifSpecifiedUserDataPathExistsInPlist() { if mgrPrefs.ifSpecifiedUserDataPathExistsInPlist() {
BookmarkManager.shared.loadBookmarks()
if mgrLangModel.checkIfSpecifiedUserDataFolderValid(userDictPathSpecified) { if mgrLangModel.checkIfSpecifiedUserDataFolderValid(userDictPathSpecified) {
return userDictPathSpecified return userDictPathSpecified
} else { } else {

View File

@ -72,14 +72,15 @@ struct suiPrefPaneDictionary: View {
if let window = ctlPrefUI.shared.controller.window { if let window = ctlPrefUI.shared.controller.window {
IME.dlgOpenPath.beginSheetModal(for: window) { result in IME.dlgOpenPath.beginSheetModal(for: window) { result in
if result == NSApplication.ModalResponse.OK { if result == NSApplication.ModalResponse.OK {
if IME.dlgOpenPath.url != nil { guard let url = IME.dlgOpenPath.url else { return }
// CommonDialog // CommonDialog
// //
var newPath = IME.dlgOpenPath.url!.path var newPath = url.path
newPath.ensureTrailingSlash() newPath.ensureTrailingSlash()
if mgrLangModel.checkIfSpecifiedUserDataFolderValid(newPath) { if mgrLangModel.checkIfSpecifiedUserDataFolderValid(newPath) {
mgrPrefs.userDataFolderSpecified = newPath mgrPrefs.userDataFolderSpecified = newPath
tbxUserDataPathSpecified = mgrPrefs.userDataFolderSpecified tbxUserDataPathSpecified = mgrPrefs.userDataFolderSpecified
BookmarkManager.shared.saveBookmark(for: url)
IME.initLangModels(userOnly: true) IME.initLangModels(userOnly: true)
(NSApplication.shared.delegate as! AppDelegate).updateStreamHelperPath() (NSApplication.shared.delegate as! AppDelegate).updateStreamHelperPath()
} else { } else {
@ -89,7 +90,6 @@ struct suiPrefPaneDictionary: View {
} }
return return
} }
}
} else { } else {
if !bolPreviousFolderValidity { if !bolPreviousFolderValidity {
mgrPrefs.resetSpecifiedUserDataFolder() mgrPrefs.resetSpecifiedUserDataFolder()

View File

@ -293,13 +293,14 @@ class ctlPrefWindow: NSWindowController {
IME.dlgOpenPath.beginSheetModal(for: window) { result in IME.dlgOpenPath.beginSheetModal(for: window) { result in
if result == NSApplication.ModalResponse.OK { if result == NSApplication.ModalResponse.OK {
if IME.dlgOpenPath.url != nil { guard let url = IME.dlgOpenPath.url else { return }
// CommonDialog // CommonDialog
// //
var newPath = IME.dlgOpenPath.url!.path var newPath = url.path
newPath.ensureTrailingSlash() newPath.ensureTrailingSlash()
if mgrLangModel.checkIfSpecifiedUserDataFolderValid(newPath) { if mgrLangModel.checkIfSpecifiedUserDataFolderValid(newPath) {
mgrPrefs.userDataFolderSpecified = newPath mgrPrefs.userDataFolderSpecified = newPath
BookmarkManager.shared.saveBookmark(for: url)
IME.initLangModels(userOnly: true) IME.initLangModels(userOnly: true)
(NSApplication.shared.delegate as! AppDelegate).updateStreamHelperPath() (NSApplication.shared.delegate as! AppDelegate).updateStreamHelperPath()
} else { } else {
@ -309,7 +310,6 @@ class ctlPrefWindow: NSWindowController {
} }
return return
} }
}
} else { } else {
if !bolPreviousFolderValidity { if !bolPreviousFolderValidity {
mgrPrefs.resetSpecifiedUserDataFolder() mgrPrefs.resetSpecifiedUserDataFolder()