@@ -25,8 +25,8 @@ use tokio::sync::oneshot;
2525use crate :: ListenerHandle ;
2626
2727pub fn create_tray ( ) -> SystemTray {
28- let hide = CustomMenuItem :: new ( "showhide" . to_string ( ) , "Hide" ) ;
29- let quit = CustomMenuItem :: new ( "quit" . to_string ( ) , "Quit" ) ;
28+ let hide = CustomMenuItem :: new ( "showhide" , "Hide" ) ;
29+ let quit = CustomMenuItem :: new ( "quit" , "Quit" ) ;
3030 let tray_menu = SystemTrayMenu :: new ( )
3131 . add_item ( hide)
3232 . add_native_item ( SystemTrayMenuItem :: Separator )
@@ -35,6 +35,13 @@ pub fn create_tray() -> SystemTray {
3535 SystemTray :: new ( ) . with_menu ( tray_menu)
3636}
3737
38+ pub fn set_tray_showhide_text ( app : & AppHandle , text : & str ) {
39+ app. tray_handle ( )
40+ . get_item ( "showhide" )
41+ . set_title ( text)
42+ . ok ( ) ;
43+ }
44+
3845pub fn on_tray_event ( app : & AppHandle , event : SystemTrayEvent ) {
3946 let main_window = app. get_window ( "main" ) ;
4047 match event {
@@ -63,16 +70,10 @@ pub fn toggle_main_window(app: AppHandle, window: Option<Window>) {
6370 window. unminimize ( ) . ok ( ) ;
6471 window. set_focus ( ) . ok ( ) ;
6572 window. emit ( "window-shown" , "" ) . ok ( ) ;
66- app. tray_handle ( )
67- . get_item ( "showhide" )
68- . set_title ( "Hide" )
69- . ok ( ) ;
73+ set_tray_showhide_text ( & app, "Hide" ) ;
7074 return ;
7175 }
72- app. tray_handle ( )
73- . get_item ( "showhide" )
74- . set_title ( "Show" )
75- . ok ( ) ;
76+ set_tray_showhide_text ( & app, "Show" ) ;
7677 async_runtime:: spawn ( async move {
7778 close_main ( window) . await ;
7879 } ) ;
@@ -82,10 +83,7 @@ pub fn toggle_main_window(app: AppHandle, window: Option<Window>) {
8283 WindowBuilder :: new ( & app, "main" , tauri:: WindowUrl :: App ( "index.html" . into ( ) ) )
8384 . build ( )
8485 . unwrap ( ) ;
85- app. tray_handle ( )
86- . get_item ( "showhide" )
87- . set_title ( "Hide" )
88- . ok ( ) ;
86+ set_tray_showhide_text ( & app, "Hide" ) ;
8987 window. set_title ( "Transmission GUI" ) . ok ( ) ;
9088 window. set_focus ( ) . ok ( ) ;
9189 }
0 commit comments