@@ -39,14 +39,14 @@ pub fn menu_icon(config: Config, sender: ExtSender) -> TrayIcon {
3939}
4040
4141pub fn menu_builder ( config : Config , sender : ExtSender , update_item : bool ) -> Menu {
42- let hotkey = config. toggle_hotkey . parse :: < HotKey > ( ) . unwrap ( ) ;
42+ let hotkey = config. toggle_hotkey . parse :: < HotKey > ( ) . ok ( ) ;
4343
4444 let mut modes = config. modes ;
4545 if !modes. contains_key ( "default" ) {
4646 modes. insert ( "Default" . to_string ( ) , "default" . to_string ( ) ) ;
4747 }
4848
49- init_event_handler ( sender, hotkey. id ( ) ) ;
49+ init_event_handler ( sender, hotkey. map ( |x| x . id ) ) ;
5050
5151 Menu :: with_items ( & [
5252 & MenuItem :: with_id (
@@ -86,7 +86,7 @@ fn get_image() -> DynamicImage {
8686 . unwrap ( )
8787}
8888
89- fn init_event_handler ( sender : ExtSender , hotkey_id : u32 ) {
89+ fn init_event_handler ( sender : ExtSender , hotkey_id : Option < u32 > ) {
9090 let runtime = Runtime :: new ( ) . unwrap ( ) ;
9191
9292 MenuEvent :: set_event_handler ( Some ( move |x : MenuEvent | {
@@ -107,12 +107,11 @@ fn init_event_handler(sender: ExtSender, hotkey_id: u32) {
107107 open_url ( "https://github.com/unsecretised/rustcast/issues/new" ) ;
108108 }
109109 "show_rustcast" => {
110- runtime. spawn ( async move {
111- sender
112- . clone ( )
113- . try_send ( Message :: KeyPressed ( hotkey_id) )
114- . unwrap ( ) ;
115- } ) ;
110+ if let Some ( hk) = hotkey_id {
111+ runtime. spawn ( async move {
112+ sender. clone ( ) . try_send ( Message :: KeyPressed ( hk) ) . unwrap ( ) ;
113+ } ) ;
114+ }
116115 }
117116 "update" => {
118117 open_url ( "https://github.com/unsecretised/rustcast/releases/latest" ) ;
@@ -179,12 +178,12 @@ fn mode_item(modes: HashMap<String, String>) -> Submenu {
179178 Submenu :: with_items ( "Modes" , true , & items) . unwrap ( )
180179}
181180
182- fn open_item ( hotkey : HotKey ) -> MenuItem {
181+ fn open_item ( hotkey : Option < HotKey > ) -> MenuItem {
183182 MenuItem :: with_id (
184183 "show_rustcast" ,
185184 "Toggle View" ,
186185 true ,
187- Some ( Accelerator :: new ( Some ( hotkey . mods ) , hotkey . key ) ) ,
186+ hotkey . map ( |hk| Accelerator :: new ( Some ( hk . mods ) , hk . key ) ) ,
188187 )
189188}
190189
0 commit comments