mirror of
https://github.com/infinilabs/coco-app.git
synced 2025-12-16 11:37:47 +01:00
feat: add setting child window (#43)
This commit is contained in:
@@ -18,7 +18,7 @@ crate-type = ["staticlib", "cdylib", "rlib"]
|
||||
tauri-build = { version = "2.0.0", features = [] }
|
||||
|
||||
[dependencies]
|
||||
tauri = { version = "2.0.0", features = ["macos-private-api", "tray-icon", "image-png"] }
|
||||
tauri = { version = "2.0.0", features = ["macos-private-api", "tray-icon", "image-png", "unstable"] }
|
||||
tauri-plugin-shell = "2.0.0"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
|
||||
@@ -227,6 +227,7 @@ fn enable_tray(app: &mut tauri::App) {
|
||||
image::Image,
|
||||
menu::{Menu, MenuItem},
|
||||
tray::TrayIconBuilder,
|
||||
webview::WebviewBuilder,
|
||||
};
|
||||
|
||||
let image = Image::from_path("icons/32x32.png").unwrap();
|
||||
@@ -240,10 +241,26 @@ fn enable_tray(app: &mut tauri::App) {
|
||||
.on_menu_event(|app, event| match event.id.as_ref() {
|
||||
"settings" => {
|
||||
println!("settings menu item was clicked");
|
||||
let app_handle = app.app_handle();
|
||||
if let Some(window) = app_handle.get_webview_window("settings") {
|
||||
let _ = window.show();
|
||||
let _ = window.set_focus();
|
||||
let window = app.get_webview_window("settings");
|
||||
if let Some(window) = window {
|
||||
window.show().unwrap();
|
||||
window.set_focus().unwrap();
|
||||
} else {
|
||||
let window = tauri::window::WindowBuilder::new(app, "Settings")
|
||||
.build()
|
||||
.unwrap();
|
||||
let webview_builder = WebviewBuilder::new(
|
||||
"Settings",
|
||||
tauri::WebviewUrl::App("index.html".into()),
|
||||
);
|
||||
let webview = window
|
||||
.add_child(
|
||||
webview_builder,
|
||||
tauri::LogicalPosition::new(0, 0),
|
||||
window.inner_size().unwrap(),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
}
|
||||
}
|
||||
"quit" => {
|
||||
|
||||
Reference in New Issue
Block a user