|
1 |
| -use tauri::Manager; |
2 | 1 | use tauri::{AppHandle, CustomMenuItem, SystemTray, SystemTrayEvent, SystemTrayMenu};
|
| 2 | +use tauri::{Manager, SystemTrayMenuItem}; |
| 3 | + |
| 4 | +use crate::setup::setup_inner; |
3 | 5 |
|
4 | 6 | pub fn create_system_tray() -> SystemTray {
|
5 | 7 | let toggle_window = CustomMenuItem::new("toggle_window".to_string(), "Show");
|
| 8 | + let update_info = CustomMenuItem::new("update_info".to_string(), "Update info"); |
6 | 9 | let quit = CustomMenuItem::new("quit".to_string(), "Quit");
|
7 |
| - let tray_menu = SystemTrayMenu::new().add_item(toggle_window).add_item(quit); |
| 10 | + let tray_menu = SystemTrayMenu::new() |
| 11 | + .add_item(update_info) |
| 12 | + .add_native_item(SystemTrayMenuItem::Separator) |
| 13 | + .add_item(toggle_window) |
| 14 | + .add_item(quit); |
8 | 15 | SystemTray::new().with_menu(tray_menu)
|
9 | 16 | }
|
10 | 17 |
|
@@ -32,16 +39,19 @@ pub fn tray_event(app: &AppHandle, event: SystemTrayEvent) {
|
32 | 39 | info!("Double click");
|
33 | 40 | }
|
34 | 41 | SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() {
|
| 42 | + "reload_info" => setup_inner(app), |
35 | 43 | "toggle_window" => {
|
36 | 44 | let item_handle = app.tray_handle().get_item(&id);
|
37 | 45 | let window = app.get_window("main").unwrap();
|
38 |
| - |
39 |
| - if window.is_visible().unwrap() { |
40 |
| - window.hide().unwrap(); |
41 |
| - item_handle.set_title("Show").unwrap(); |
42 |
| - } else { |
43 |
| - window.show().unwrap(); |
44 |
| - item_handle.set_title("Hide").unwrap(); |
| 46 | + match window.is_visible().unwrap() { |
| 47 | + true => { |
| 48 | + window.hide().expect("Couldn't hide window"); |
| 49 | + item_handle.set_title("Show").expect("Couldn't set title"); |
| 50 | + } |
| 51 | + false => { |
| 52 | + window.show().expect("Couldn't show window"); |
| 53 | + item_handle.set_title("Hide").expect("Couldn't set title"); |
| 54 | + } |
45 | 55 | }
|
46 | 56 | }
|
47 | 57 | "quit" => {
|
|
0 commit comments