Skip to content

Commit e306f0b

Browse files
committed
add #219
1 parent caf384f commit e306f0b

1 file changed

Lines changed: 10 additions & 11 deletions

File tree

src/app/menubar.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ pub fn menu_icon(config: Config, sender: ExtSender) -> TrayIcon {
3939
}
4040

4141
pub 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

Comments
 (0)