fix: dialog default path on Linux, closes #3091 (#3123)

This commit is contained in:
Lucas Fernandes Nogueira
2021-12-27 13:03:51 -03:00
committed by GitHub
parent 722d9ede6e
commit 2212bd5d75
8 changed files with 122 additions and 197 deletions

View File

@@ -0,0 +1,6 @@
---
"tauri": patch
"api": patch
---
Fixes the dialog `defaultPath` usage on Linux.

View File

@@ -67,7 +67,7 @@ attohttpc = { version = "0.18", features = [ "json", "form" ] }
open = { version = "2.0", optional = true }
shared_child = { version = "1.0", optional = true }
os_pipe = { version = "1.0", optional = true }
rfd = { version = "0.6.2", features = [ "parent" ] }
rfd = { version = "0.6.3", features = [ "parent" ] }
raw-window-handle = "0.4.2"
minisign-verify = { version = "0.2", optional = true }
os_info = { version = "3.0.9", optional = true }

View File

@@ -150,9 +150,6 @@ pub fn open<R: Runtime>(
dialog_builder = dialog_builder.set_parent(window);
}
if let Some(default_path) = options.default_path {
if !default_path.exists() {
return Err(crate::Error::DialogDefaultPathNotExists(default_path));
}
dialog_builder = set_default_path(dialog_builder, default_path);
}
for filter in options.filters {

File diff suppressed because one or more lines are too long

View File

@@ -6,7 +6,7 @@
<link rel="stylesheet" href="/global.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Svelte + Vite App</title>
<script type="module" crossorigin src="/assets/index.f1ec7caa.js"></script>
<script type="module" crossorigin src="/assets/index.d86155cb.js"></script>
<link rel="modulepreload" href="/assets/vendor.a59520a9.js">
<link rel="stylesheet" href="/assets/index.b706bb41.css">
</head>

View File

@@ -103,8 +103,8 @@ version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "badcf670157c84bb8b1cf6b5f70b650fed78da2033c9eed84c4e49b11cbe83ea"
dependencies = [
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"glib-sys",
"gobject-sys",
"libc",
"system-deps 3.2.0",
]
@@ -270,7 +270,7 @@ version = "0.14.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b448b876970834fda82ba3aeaccadbd760206b75388fc5c1b02f1e343b697570"
dependencies = [
"glib-sys 0.14.0",
"glib-sys",
"libc",
"system-deps 3.2.0",
]
@@ -345,9 +345,9 @@ dependencies = [
[[package]]
name = "clap"
version = "3.0.0-rc.4"
version = "3.0.0-rc.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "967965e82fc46fee1a88147a7a977a66d615ed5f83eb95b18577b342c08f90ff"
checksum = "9468f8012246b0836c6fd11725102b0844254985f2462b6c637d50040ef49df0"
dependencies = [
"atty",
"bitflags",
@@ -983,9 +983,9 @@ version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f097c0704201fbc8f69c1762dc58c6947c8bb188b8ed0bc7e65259f1894fe590"
dependencies = [
"gio-sys 0.14.0",
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"gio-sys",
"glib-sys",
"gobject-sys",
"libc",
"system-deps 3.2.0",
]
@@ -998,9 +998,9 @@ checksum = "0e091b3d3d6696949ac3b3fb3c62090e5bfd7bd6850bef5c3c5ea701de1b1f1e"
dependencies = [
"cairo-sys-rs",
"gdk-pixbuf-sys",
"gio-sys 0.14.0",
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"gio-sys",
"glib-sys",
"gobject-sys",
"libc",
"pango-sys",
"pkg-config",
@@ -1062,34 +1062,21 @@ dependencies = [
"futures-channel",
"futures-core",
"futures-io",
"gio-sys 0.14.0",
"gio-sys",
"glib",
"libc",
"once_cell",
"thiserror",
]
[[package]]
name = "gio-sys"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e24fb752f8f5d2cf6bbc2c606fd2bc989c81c5e2fe321ab974d54f8b6344eac"
dependencies = [
"glib-sys 0.10.1",
"gobject-sys 0.10.0",
"libc",
"system-deps 1.3.2",
"winapi",
]
[[package]]
name = "gio-sys"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0a41df66e57fcc287c4bcf74fc26b884f31901ea9792ec75607289b456f48fa"
dependencies = [
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"glib-sys",
"gobject-sys",
"libc",
"system-deps 3.2.0",
"winapi",
@@ -1107,8 +1094,8 @@ dependencies = [
"futures-executor",
"futures-task",
"glib-macros",
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"glib-sys",
"gobject-sys",
"libc",
"once_cell",
"smallvec",
@@ -1121,7 +1108,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2aad66361f66796bfc73f530c51ef123970eb895ffba991a234fcf7bea89e518"
dependencies = [
"anyhow",
"heck",
"heck 0.3.3",
"proc-macro-crate 1.1.0",
"proc-macro-error",
"proc-macro2",
@@ -1129,16 +1116,6 @@ dependencies = [
"syn",
]
[[package]]
name = "glib-sys"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7e9b997a66e9a23d073f2b1abb4dbfc3925e0b8952f67efd8d9b6e168e4cdc1"
dependencies = [
"libc",
"system-deps 1.3.2",
]
[[package]]
name = "glib-sys"
version = "0.14.0"
@@ -1162,24 +1139,13 @@ dependencies = [
"regex",
]
[[package]]
name = "gobject-sys"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "952133b60c318a62bf82ee75b93acc7e84028a093e06b9e27981c2b6fe68218c"
dependencies = [
"glib-sys 0.10.1",
"libc",
"system-deps 1.3.2",
]
[[package]]
name = "gobject-sys"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5"
dependencies = [
"glib-sys 0.14.0",
"glib-sys",
"libc",
"system-deps 3.2.0",
]
@@ -1217,9 +1183,9 @@ dependencies = [
"cairo-sys-rs",
"gdk-pixbuf-sys",
"gdk-sys",
"gio-sys 0.14.0",
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"gio-sys",
"glib-sys",
"gobject-sys",
"libc",
"pango-sys",
"system-deps 3.2.0",
@@ -1232,7 +1198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21de1da96dc117443fb03c2e270b2d34b7de98d0a79a19bbb689476173745b79"
dependencies = [
"anyhow",
"heck",
"heck 0.3.3",
"proc-macro-crate 1.1.0",
"proc-macro-error",
"proc-macro2",
@@ -1255,6 +1221,12 @@ dependencies = [
"unicode-segmentation",
]
[[package]]
name = "heck"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
[[package]]
name = "hermit-abi"
version = "0.1.19"
@@ -1409,8 +1381,8 @@ version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2adf2de824b178d76c6017da59f4e7e95de49a766b584c59d47821a6c3dce9e2"
dependencies = [
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"glib-sys",
"gobject-sys",
"libc",
"system-deps 5.0.0",
]
@@ -1870,9 +1842,9 @@ dependencies = [
[[package]]
name = "os_info"
version = "3.0.8"
version = "3.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5501659840950e918d046ad97ebe9702cbb4ec0097e47dbd27abf7692223181"
checksum = "b89dd55b8d8d97dabd0d1adc625d188378fcf87632825bfe9c956acc9a11a72a"
dependencies = [
"log",
"serde",
@@ -1917,8 +1889,8 @@ version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2367099ca5e761546ba1d501955079f097caa186bb53ce0f718dca99ac1942fe"
dependencies = [
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"glib-sys",
"gobject-sys",
"libc",
"system-deps 3.2.0",
]
@@ -2414,14 +2386,14 @@ dependencies = [
[[package]]
name = "rfd"
version = "0.6.1"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df102be679ae47c269a6393851bc2cff8760173e7e67a2f1e8110d6578b7c555"
checksum = "6b0c25b610bf37d9874ff224ab2791ff2272bedeb5638a2dca8b18e1270ed69b"
dependencies = [
"block",
"dispatch",
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"glib-sys",
"gobject-sys",
"gtk-sys",
"js-sys",
"lazy_static",
@@ -2432,7 +2404,7 @@ dependencies = [
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"windows 0.28.0",
"windows 0.29.0",
]
[[package]]
@@ -2678,18 +2650,17 @@ dependencies = [
]
[[package]]
name = "soup-sys"
version = "0.10.0"
name = "soup2-sys"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3c7adf08565630bbb71f955f11f8a68464817ded2703a3549747c235b58a13e"
checksum = "9f056675eda9a7417163e5f742bb119e8e1d385edd2ada8f7031a7230a3ec10a"
dependencies = [
"bitflags",
"gio-sys 0.10.1",
"glib-sys 0.10.1",
"gobject-sys 0.10.0",
"gio-sys",
"glib-sys",
"gobject-sys",
"libc",
"pkg-config",
"system-deps 1.3.2",
"system-deps 5.0.0",
]
[[package]]
@@ -2751,12 +2722,6 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "strum"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b"
[[package]]
name = "strum"
version = "0.21.0"
@@ -2772,25 +2737,13 @@ dependencies = [
"strum_macros 0.22.0",
]
[[package]]
name = "strum_macros"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c"
dependencies = [
"heck",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "strum_macros"
version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
dependencies = [
"heck",
"heck 0.3.3",
"proc-macro2",
"quote",
"syn",
@@ -2802,7 +2755,7 @@ version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb"
dependencies = [
"heck",
"heck 0.3.3",
"proc-macro2",
"quote",
"syn",
@@ -2819,21 +2772,6 @@ dependencies = [
"unicode-xid",
]
[[package]]
name = "system-deps"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b"
dependencies = [
"heck",
"pkg-config",
"strum 0.18.0",
"strum_macros 0.18.0",
"thiserror",
"toml",
"version-compare 0.0.10",
]
[[package]]
name = "system-deps"
version = "3.2.0"
@@ -2842,14 +2780,14 @@ checksum = "480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6"
dependencies = [
"anyhow",
"cfg-expr 0.8.1",
"heck",
"heck 0.3.3",
"itertools",
"pkg-config",
"strum 0.21.0",
"strum_macros 0.21.1",
"thiserror",
"toml",
"version-compare 0.0.11",
"version-compare",
]
[[package]]
@@ -2859,10 +2797,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e"
dependencies = [
"cfg-expr 0.9.0",
"heck",
"heck 0.3.3",
"pkg-config",
"toml",
"version-compare 0.0.11",
"version-compare",
]
[[package]]
@@ -2884,7 +2822,7 @@ dependencies = [
"gdk-sys",
"gio",
"glib",
"glib-sys 0.14.0",
"glib-sys",
"gtk",
"instant",
"lazy_static",
@@ -3037,7 +2975,7 @@ dependencies = [
name = "tauri-utils"
version = "1.0.0-beta.3"
dependencies = [
"heck",
"heck 0.4.0",
"html5ever",
"kuchiki",
"phf 0.10.0",
@@ -3152,11 +3090,10 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
version = "1.14.0"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144"
checksum = "fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838"
dependencies = [
"autocfg",
"bytes",
"memchr",
"num_cpus",
@@ -3306,12 +3243,6 @@ version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version-compare"
version = "0.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1"
[[package]]
name = "version-compare"
version = "0.0.11"
@@ -3437,19 +3368,19 @@ dependencies = [
[[package]]
name = "webkit2gtk"
version = "0.15.3"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5725e8ede878b7c00419066868085b83fb7d01eea904c1a0bd0159ad3ce0ba3"
checksum = "07654baccd8874fc7c99cc33c27052fb02804276102dff0f78f981669316e0e9"
dependencies = [
"bitflags",
"cairo-rs",
"gdk",
"gdk-sys",
"gio",
"gio-sys 0.14.0",
"gio-sys",
"glib",
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"glib-sys",
"gobject-sys",
"gtk",
"gtk-sys",
"javascriptcore-rs",
@@ -3460,24 +3391,24 @@ dependencies = [
[[package]]
name = "webkit2gtk-sys"
version = "0.15.2"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b34314407e381b88a72610d0f4eeff1552cbf8ee5420dbe84749fa26aa11b4e3"
checksum = "854a0cbf3570541bf13df70aac23826da7cd88f27a722b7b2043f32637373113"
dependencies = [
"atk-sys",
"bitflags",
"cairo-sys-rs",
"gdk-pixbuf-sys",
"gdk-sys",
"gio-sys 0.14.0",
"glib-sys 0.14.0",
"gobject-sys 0.14.0",
"gio-sys",
"glib-sys",
"gobject-sys",
"gtk-sys",
"javascriptcore-rs-sys",
"libc",
"pango-sys",
"pkg-config",
"soup-sys",
"soup2-sys",
"system-deps 5.0.0",
]
@@ -3592,24 +3523,15 @@ dependencies = [
[[package]]
name = "windows"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "054d31561409bbf7e1ee4a4f0a1233ac2bb79cfadf2a398438a04d8dda69225f"
checksum = "aac7fef12f4b59cd0a29339406cc9203ab44e440ddff6b3f5a41455349fa9cf3"
dependencies = [
"windows-sys",
]
[[package]]
name = "windows-sys"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82ca39602d5cbfa692c4b67e3bcbb2751477355141c1ed434c94da4186836ff6"
dependencies = [
"windows_aarch64_msvc 0.28.0",
"windows_i686_gnu 0.28.0",
"windows_i686_msvc 0.28.0",
"windows_x86_64_gnu 0.28.0",
"windows_x86_64_msvc 0.28.0",
"windows_aarch64_msvc 0.29.0",
"windows_i686_gnu 0.29.0",
"windows_i686_msvc 0.29.0",
"windows_x86_64_gnu 0.29.0",
"windows_x86_64_msvc 0.29.0",
]
[[package]]
@@ -3620,9 +3542,9 @@ checksum = "3022d174000fcaeb6f95933fb04171ea0e21b9289ac57fe4400bfa148e41df79"
[[package]]
name = "windows_aarch64_msvc"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52695a41e536859d5308cc613b4a022261a274390b25bd29dfff4bf08505f3c2"
checksum = "c3d027175d00b01e0cbeb97d6ab6ebe03b12330a35786cbaca5252b1c4bf5d9b"
[[package]]
name = "windows_gen"
@@ -3648,9 +3570,9 @@ checksum = "03b1584eebf06654708eab4301152032c13c1e47f4a754ffc93c733f10993e85"
[[package]]
name = "windows_i686_gnu"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f54725ac23affef038fecb177de6c9bf065787c2f432f79e3c373da92f3e1d8a"
checksum = "8793f59f7b8e8b01eda1a652b2697d87b93097198ae85f823b969ca5b89bba58"
[[package]]
name = "windows_i686_msvc"
@@ -3666,9 +3588,9 @@ checksum = "f49df16591e9ad429997ec57d462b0cc45168f639d03489e8c2e933ea9c389d7"
[[package]]
name = "windows_i686_msvc"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d5158a43cc43623c0729d1ad6647e62fa384a3d135fd15108d37c683461f64"
checksum = "8602f6c418b67024be2996c512f5f995de3ba417f4c75af68401ab8756796ae4"
[[package]]
name = "windows_macros"
@@ -3708,9 +3630,9 @@ checksum = "2cb06177184100374f97d5e7261ee0b6adefa8ee32e38f87518ca22b519bb80e"
[[package]]
name = "windows_x86_64_gnu"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc31f409f565611535130cfe7ee8e6655d3fa99c1c61013981e491921b5ce954"
checksum = "f3d615f419543e0bd7d2b3323af0d86ff19cbc4f816e6453f36a2c2ce889c354"
[[package]]
name = "windows_x86_64_msvc"
@@ -3726,9 +3648,9 @@ checksum = "c3c27bcbb33ddbed3569e36c14775c99f72b97c72ce49f81d128637fb48a061f"
[[package]]
name = "windows_x86_64_msvc"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f2b8c7cbd3bfdddd9ab98769f9746a7fad1bca236554cd032b78d768bc0e89f"
checksum = "11d95421d9ed3672c280884da53201a5c46b7b2765ca6faf34b0d71cf34a3561"
[[package]]
name = "winres"
@@ -3753,7 +3675,7 @@ dependencies = [
[[package]]
name = "wry"
version = "0.12.2"
source = "git+https://github.com/tauri-apps/wry?rev=11557f15cf759fcf3008598b684c009f03a8c645#11557f15cf759fcf3008598b684c009f03a8c645"
source = "git+https://github.com/tauri-apps/wry?rev=81e92bd2539a27cd2aa169adc6a52f4f78e00292#81e92bd2539a27cd2aa169adc6a52f4f78e00292"
dependencies = [
"cocoa",
"core-graphics 0.22.3",

View File

@@ -25,7 +25,7 @@
"@tauri-apps/api@../../tooling/api/dist":
version "1.0.0-beta.8"
dependencies:
type-fest "2.6.0"
type-fest "2.8.0"
debug@^4.3.2:
version "4.3.3"
@@ -262,10 +262,10 @@ svelte@3.35.0:
resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.35.0.tgz#e0d0ba60c4852181c2b4fd851194be6fda493e65"
integrity sha512-gknlZkR2sXheu/X+B7dDImwANVvK1R0QGQLd8CNIfxxGPeXBmePnxfzb6fWwTQRsYQG7lYkZXvpXJvxvpsoB7g==
type-fest@2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.6.0.tgz#e9f1e78c5f746ca97ccbb873c59aa16c3bf6b123"
integrity sha512-XN1FDGGtaSDA6CFsCW5iolTQqFsnJ+ZF6JqSz0SqXoh4F8GY0xqUv5RYnTilpmL+sOH8OH4FX8tf9YyAPM2LDA==
type-fest@2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.8.0.tgz#39d7c9f9c508df8d6ce1cf5a966b0e6568dcc50d"
integrity sha512-O+V9pAshf9C6loGaH0idwsmugI2LxVNR7DtS40gVo2EXZVYFgz9OuNtOhgHLdHdapOEWNdvz9Ob/eeuaWwwlxA==
vite@^2.6.4:
version "2.6.14"

View File

@@ -45,7 +45,7 @@ interface DialogFilter {
interface OpenDialogOptions {
/** The filters of the dialog. */
filters?: DialogFilter[]
/** Initial directory or file path. It must exist. */
/** Initial directory or file path. */
defaultPath?: string
/** Whether the dialog allows multiple selection or not. */
multiple?: boolean