From db9cbfbfc473dc662002d8bd315a1f3a67fe0fdc Mon Sep 17 00:00:00 2001 From: pandadev <70103896+0PandaDEV@users.noreply.github.com> Date: Fri, 5 Jul 2024 13:32:50 +0200 Subject: [PATCH] fixed instant crash --- src-tauri/Cargo.lock | 25 +++++++++++++++++++++++++ src-tauri/Cargo.toml | 1 + src-tauri/capabilities/default.json | 3 ++- src-tauri/src/main.rs | 7 ++++--- src-tauri/src/tray.rs | 6 ++++-- 5 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index ac83ce8..1d30cd1 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1834,8 +1834,13 @@ dependencies = [ "bytemuck", "byteorder", "color_quant", + "exr", + "gif", + "jpeg-decoder", "num-traits", "png", + "qoi", + "tiff", ] [[package]] @@ -2014,6 +2019,9 @@ name = "jpeg-decoder" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" +dependencies = [ + "rayon", +] [[package]] name = "js-sys" @@ -3147,6 +3155,7 @@ dependencies = [ "tauri", "tauri-build", "tauri-plugin-autostart", + "tauri-plugin-clipboard-manager", "tauri-plugin-global-shortcut", "tauri-plugin-os", "tauri-plugin-sql", @@ -4490,6 +4499,22 @@ dependencies = [ "thiserror", ] +[[package]] +name = "tauri-plugin-clipboard-manager" +version = "2.1.0-beta.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d111ff331a3ef150a02eab7d7e8350bb7f92495ee272d6f22179b2e03feb66" +dependencies = [ + "arboard", + "image 0.24.9", + "log", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror", +] + [[package]] name = "tauri-plugin-global-shortcut" version = "2.0.0-beta.7" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 5861c69..826dffd 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -13,6 +13,7 @@ tauri-build = { version = "2.0.0-beta.18", features = [] } tauri = { version = "2.0.0-beta.23", features = ["unstable", "tray-icon", "image-png"] } tauri-plugin-window-state = "2.0.0-beta.10" tauri-plugin-sql = {version = "2.0.0-beta.8", features = ["sqlite"] } +tauri-plugin-clipboard-manager = "2.1.0-beta.5" tauri-plugin-global-shortcut = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-autostart = "2.0.0-beta.8" tauri-plugin-os = "2.0.0-beta.7" diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index e12bedf..612fc6e 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -33,6 +33,7 @@ "window:allow-show", "window:allow-set-focus", "window:allow-is-focused", - "window:allow-is-visible" + "window:allow-is-visible", + "clipboard-manager:allow-write-text" ] } \ No newline at end of file diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 44c2509..f235cee 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -14,14 +14,15 @@ use tauri_plugin_window_state::{AppHandleExt, StateFlags, WindowExt}; fn main() { tauri::Builder::default() + .plugin(tauri_plugin_clipboard_manager::init()) .plugin(tauri_plugin_os::init()) + .plugin(tauri_plugin_global_shortcut::Builder::new().build()) + .plugin(tauri_plugin_window_state::Builder::default().build()) + .plugin(tauri_plugin_sql::Builder::default().build()) .plugin(tauri_plugin_autostart::init( MacosLauncher::LaunchAgent, Some(vec![]), )) - .plugin(tauri_plugin_global_shortcut::Builder::new().build()) - .plugin(tauri_plugin_window_state::Builder::default().build()) - .plugin(tauri_plugin_sql::Builder::default().build()) .setup(|app| { let app_handle = app.handle().clone(); diff --git a/src-tauri/src/tray.rs b/src-tauri/src/tray.rs index 6aa450d..4c54319 100644 --- a/src-tauri/src/tray.rs +++ b/src-tauri/src/tray.rs @@ -2,7 +2,6 @@ use tauri::{ Manager, menu::{MenuBuilder, MenuItemBuilder}, tray::{MouseButton, TrayIconBuilder, TrayIconEvent}, - image::Image, }; pub fn setup(app: &mut tauri::App) -> Result<(), Box> { @@ -10,6 +9,9 @@ pub fn setup(app: &mut tauri::App) -> Result<(), Box> { let window_clone_for_tray = window.clone(); let window_clone_for_click = window.clone(); + let icon_bytes = include_bytes!("../icons/Square71x71Logo.png"); + let icon = tauri::image::Image::from_bytes(icon_bytes).unwrap(); + let _tray = TrayIconBuilder::new() .menu( &MenuBuilder::new(app) @@ -44,7 +46,7 @@ pub fn setup(app: &mut tauri::App) -> Result<(), Box> { } } }) - .icon(Image::from_path("icons/Square71x71Logo.png").unwrap()) + .icon(icon) .build(app)?; Ok(())