diff --git a/plugins/dialog/examples/tauri-app/src-tauri/src/main.rs b/plugins/dialog/examples/tauri-app/src-tauri/src/main.rs new file mode 100644 index 00000000..004cbf3b --- /dev/null +++ b/plugins/dialog/examples/tauri-app/src-tauri/src/main.rs @@ -0,0 +1,7 @@ +// Copyright 2019-2022 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +fn main() { + app::run(); +} diff --git a/plugins/dialog/src/desktop.rs b/plugins/dialog/src/desktop.rs index 0ff45267..caba5892 100644 --- a/plugins/dialog/src/desktop.rs +++ b/plugins/dialog/src/desktop.rs @@ -17,6 +17,11 @@ use crate::{models::*, FileDialogBuilder, MessageDialogBuilder}; const OK: &str = "Ok"; +#[cfg(target_os = "linux")] +type FileDialog = rfd::FileDialog; +#[cfg(not(target_os = "linux"))] +type FileDialog = rfd::AsyncFileDialog; + pub fn init( app: &AppHandle, _api: PluginApi, @@ -67,7 +72,7 @@ macro_rules! run_dialog { macro_rules! run_file_dialog { ($e:expr, $h: ident) => {{ std::thread::spawn(move || { - let response = crate::async_runtime::block_on($e); + let response = tauri::async_runtime::block_on($e); $h(response); }); }}; @@ -96,9 +101,9 @@ impl From for rfd::MessageLevel { } } -impl From> for rfd::FileDialog { +impl From> for FileDialog { fn from(d: FileDialogBuilder) -> Self { - let mut builder = rfd::FileDialog::new(); + let mut builder = FileDialog::new(); if let Some(title) = d.title { builder = builder.set_title(&title); @@ -153,7 +158,7 @@ pub fn pick_file) + Send + 'static>( ) { #[cfg(not(target_os = "linux"))] let f = |path: Option| f(path.map(|p| p.path().to_path_buf())); - run_file_dialog!(rfd::FileDialog::from(dialog).pick_file(), f) + run_file_dialog!(FileDialog::from(dialog).pick_file(), f) } pub fn pick_files>) + Send + 'static>( @@ -164,7 +169,7 @@ pub fn pick_files>) + Send + 'static>( let f = |paths: Option>| { f(paths.map(|list| list.into_iter().map(|p| p.path().to_path_buf()).collect())) }; - run_file_dialog!(rfd::FileDialog::from(dialog).pick_files(), f) + run_file_dialog!(FileDialog::from(dialog).pick_files(), f) } pub fn pick_folder) + Send + 'static>( @@ -173,7 +178,7 @@ pub fn pick_folder) + Send + 'static>( ) { #[cfg(not(target_os = "linux"))] let f = |path: Option| f(path.map(|p| p.path().to_path_buf())); - run_file_dialog!(rfd::FileDialog::from(dialog).pick_folder(), f) + run_file_dialog!(FileDialog::from(dialog).pick_folder(), f) } pub fn pick_folders>) + Send + 'static>( @@ -184,7 +189,7 @@ pub fn pick_folders>) + Send + 'static let f = |paths: Option>| { f(paths.map(|list| list.into_iter().map(|p| p.path().to_path_buf()).collect())) }; - run_file_dialog!(rfd::FileDialog::from(dialog).pick_folders(), f) + run_file_dialog!(FileDialog::from(dialog).pick_folders(), f) } pub fn save_file) + Send + 'static>( @@ -193,7 +198,7 @@ pub fn save_file) + Send + 'static>( ) { #[cfg(not(target_os = "linux"))] let f = |path: Option| f(path.map(|p| p.path().to_path_buf())); - run_file_dialog!(rfd::FileDialog::from(dialog).save_file(), f) + run_file_dialog!(FileDialog::from(dialog).save_file(), f) } /// Shows a message dialog diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8bbd771..e2550911 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,8 +87,8 @@ importers: specifier: ^1.0.1 version: 1.0.1(svelte@3.55.1)(vite@3.0.2) '@tauri-apps/cli': - specifier: ^2.0.0-alpha.6 - version: 2.0.0-alpha.6 + specifier: ^2.0.0-alpha.7 + version: 2.0.0-alpha.8 internal-ip: specifier: ^7.0.0 version: 7.0.0 @@ -702,8 +702,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-darwin-arm64@2.0.0-alpha.6: - resolution: {integrity: sha512-Oc6EUaXRsAXCapl5EdEqkzMUkCpqQ9ELXhLORwgVTDNYjq11xpe/VxYlVoao/FuEp9DnHvcdZVlgNrEgWb8whQ==} + /@tauri-apps/cli-darwin-arm64@2.0.0-alpha.8: + resolution: {integrity: sha512-ZF9nkkYCDiAEKZFwjEbuqTcFVp+DBgem3edKjsZDYPQpWg0VcZOSYr0o3/RPC81T1/FAy1lq478mkcMe0efvEw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -720,8 +720,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-darwin-x64@2.0.0-alpha.6: - resolution: {integrity: sha512-HhF4XFTsznCzAVXQJd1e+yi1DdVD5PHOXVl2ZjeqmALvci4X/yCZEj4sCg4+Qukvs8BVnDYRvGs7M8cjbJZJoQ==} + /@tauri-apps/cli-darwin-x64@2.0.0-alpha.8: + resolution: {integrity: sha512-N5V+tbP3qeAoXrrTZXvaLIeEWKCq11tqXoNFTkIZNGNC5yQdNpZSX0LqFqzmxVR1SHiOymebvcUlx+ADIpuXGw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -738,8 +738,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-alpha.6: - resolution: {integrity: sha512-diHDgkBtx1exs/vlouy0B0MrUkJL0ojCJZcoq3rR76kMk2Gmsxz43AsoQfgziE9BCS2luIwilMuofgKOY4s+Zg==} + /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-alpha.8: + resolution: {integrity: sha512-7LHfZA99ncMDUO/wCGMtrqmDHt1uEKZiNmuzPljWLUwVvbAn0pNWNygnvPNVLEOyav5NnZSGPqT1Zmn+L6Fpyg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -756,8 +756,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-arm64-gnu@2.0.0-alpha.6: - resolution: {integrity: sha512-g8SpZ3rVUdVIfuuosdnq3U359KF48R374b1G3xUUyebJAwWZ5Bay0P94RW0JNoqbM9Z4UpSedrCgIPcunnmZHw==} + /@tauri-apps/cli-linux-arm64-gnu@2.0.0-alpha.8: + resolution: {integrity: sha512-imq2MdhWdREvL2sqbU26mzH9sgSvfNWP0uvCPvPxUhK157xqdtGw+Gqm00hwnhTuT5bOFlsUNfnG2U19k1qMpA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -774,8 +774,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-arm64-musl@2.0.0-alpha.6: - resolution: {integrity: sha512-RD5u0MoBKruMZK7jp4tcQ9JUU6wx25+m0HfT+WSC3YGV8waRxVT/yxyxH5FEPhsxsT0LUQohOUF2S3oB4/bYIg==} + /@tauri-apps/cli-linux-arm64-musl@2.0.0-alpha.8: + resolution: {integrity: sha512-7hXEyvCosBHIN6ahkbFOI5JoyWZAulc0sYd3hWh9V/MBfU+LlPiapsJi6fdde0zew5nnzwcCtfEKkoR737tAig==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -792,8 +792,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-x64-gnu@2.0.0-alpha.6: - resolution: {integrity: sha512-AWJbXJ8bZgwWDorHnCLdLKdz7j9sQqnhKaP+GTNZ2bBUuM03rVYfB5GAOmteqSAXOWfzT/LCLIZIQaZ+Y36vHg==} + /@tauri-apps/cli-linux-x64-gnu@2.0.0-alpha.8: + resolution: {integrity: sha512-S9T/trKpXcLc7hVIv7xFrRBlaivHD/HLUz0nYAkI2izNGFmbP3QpkqQDdwpWN/fxneodNgI2/mDFC3NULClj+A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -810,8 +810,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-x64-musl@2.0.0-alpha.6: - resolution: {integrity: sha512-0+FoSopNCHdwEWmdYdlY+G8WXa2ojFXAqs1vIiJlQ4Z6e1Lv6dmPww+FmhNChW4bSi/HH1PbdPX0FB0WEFnM2g==} + /@tauri-apps/cli-linux-x64-musl@2.0.0-alpha.8: + resolution: {integrity: sha512-90mx6vSFNBbctaPaKhkH+um51gOoRJwLFOadOkklHS5Q6S6GjtSa1lmBEFyKUTAfFPtmiacuNYtoKx7nqm+z1Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -828,8 +828,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-win32-ia32-msvc@2.0.0-alpha.6: - resolution: {integrity: sha512-JsdlWyP2szDvOXhNMSbDUMxb0t5ppl80AAtUjtNM47nyM2/QtoMYPZ6eIjxmKnss/ZbRCF5eCEgP1v5/x+W/gw==} + /@tauri-apps/cli-win32-ia32-msvc@2.0.0-alpha.8: + resolution: {integrity: sha512-VAMsLJYfp6iVI7oJ+uIkfe8DKPRMtWDiSEkfFqvDyFX0WMTQl23B0AzYyapVwZc+WkTkLuoMLpIWMQCgAoQWfQ==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -846,8 +846,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-win32-x64-msvc@2.0.0-alpha.6: - resolution: {integrity: sha512-RY4aCCIyiwuD0iDxzwvqDSyoMoz6xgoGzWS4Xy2wKvoi/ptUAPRn8uhI3JTLFH4U+qky0KXO1oonBfOTF/pWQw==} + /@tauri-apps/cli-win32-x64-msvc@2.0.0-alpha.8: + resolution: {integrity: sha512-zvWd13hRfRM0AEJJZ4t4CeB/cyru8hvbB6c+sxYDS9GPRWfHSH5dIeKoHhnMwP5fEOPZLN7VaeEP6tC88trD6g==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -871,20 +871,20 @@ packages: '@tauri-apps/cli-win32-x64-msvc': 1.2.2 dev: false - /@tauri-apps/cli@2.0.0-alpha.6: - resolution: {integrity: sha512-5apIpCGSuf5fUKYW1Jw0Qi1AAMvlUfr7jX41lhIrpXYeOD+Q8HKlpgpRpUScONfA9TThJBUuOfSVPbEkYMsyfw==} + /@tauri-apps/cli@2.0.0-alpha.8: + resolution: {integrity: sha512-cXt6pxh7oiV8Htz7eTPor7if4aN9f9emn10+5h2Y82YzST7I7wKXsrjuk0HIyzUiqiQjUgl3iT9gh791zgtI3w==} engines: {node: '>= 10'} hasBin: true optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.6 - '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.6 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.6 - '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.6 - '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.6 - '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.6 - '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.6 - '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.6 - '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.6 + '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.8 + '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.8 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.8 + '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.8 + '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.8 + '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.8 + '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.8 + '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.8 + '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.8 dev: true /@types/cookie@0.5.1: