|
|
|
@ -115,16 +115,18 @@ pub(crate) async fn open<R: Runtime>(
|
|
|
|
|
let folders = dialog_builder.blocking_pick_folders();
|
|
|
|
|
if let Some(folders) = &folders {
|
|
|
|
|
for folder in folders {
|
|
|
|
|
window
|
|
|
|
|
.fs_scope()
|
|
|
|
|
.allow_directory(folder, options.recursive)?;
|
|
|
|
|
if let Some(s) = window.try_fs_scope() {
|
|
|
|
|
s.allow_directory(folder, options.recursive)?;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
OpenResponse::Folders(folders)
|
|
|
|
|
} else {
|
|
|
|
|
let folder = dialog_builder.blocking_pick_folder();
|
|
|
|
|
if let Some(path) = &folder {
|
|
|
|
|
window.fs_scope().allow_directory(path, options.recursive)?;
|
|
|
|
|
if let Some(s) = window.try_fs_scope() {
|
|
|
|
|
s.allow_directory(path, options.recursive)?;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
OpenResponse::Folder(folder)
|
|
|
|
|
}
|
|
|
|
@ -135,7 +137,9 @@ pub(crate) async fn open<R: Runtime>(
|
|
|
|
|
let files = dialog_builder.blocking_pick_files();
|
|
|
|
|
if let Some(files) = &files {
|
|
|
|
|
for file in files {
|
|
|
|
|
window.fs_scope().allow_file(&file.path)?;
|
|
|
|
|
if let Some(s) = window.try_fs_scope() {
|
|
|
|
|
s.allow_file(&file.path)?;
|
|
|
|
|
}
|
|
|
|
|
window
|
|
|
|
|
.state::<tauri::scope::Scopes>()
|
|
|
|
|
.allow_file(&file.path)?;
|
|
|
|
@ -145,7 +149,9 @@ pub(crate) async fn open<R: Runtime>(
|
|
|
|
|
} else {
|
|
|
|
|
let file = dialog_builder.blocking_pick_file();
|
|
|
|
|
if let Some(file) = &file {
|
|
|
|
|
window.fs_scope().allow_file(&file.path)?;
|
|
|
|
|
if let Some(s) = window.try_fs_scope() {
|
|
|
|
|
s.allow_file(&file.path)?;
|
|
|
|
|
}
|
|
|
|
|
window
|
|
|
|
|
.state::<tauri::scope::Scopes>()
|
|
|
|
|
.allow_file(&file.path)?;
|
|
|
|
|