Skip to content

Commit c16ee07

Browse files
committed
Safer menu actions
1 parent f5aad00 commit c16ee07

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

src/tab.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -182,18 +182,17 @@ impl Tab {
182182
let text_view = &draw_ctx.as_ref().unwrap().text_view;
183183
let link = Self::extract_linkhandler(draw_ctx.as_ref().unwrap(), x, y)?;
184184
let link = self.parse_link(&link)?;
185+
let link_variant = link.as_str().to_variant();
185186

186187
let menu = gio::Menu::new();
187-
menu.insert(
188-
0,
189-
Some("Open Link In New Tab"),
190-
Some(&format!("win.open-in-new-tab(\"{}\")", link.as_str())),
191-
);
192-
menu.insert(
193-
1,
194-
Some("Copy Link"),
195-
Some(&format!("win.set-clipboard(\"{}\")", link.as_str())),
196-
);
188+
189+
let item = gio::MenuItem::new(Some("Open Link In New Tab"), None);
190+
item.set_action_and_target_value(Some("win.open-in-new-tab"), Some(&link_variant));
191+
192+
menu.insert_item(0, &item);
193+
let item = gio::MenuItem::new(Some("Copy Link"), None);
194+
item.set_action_and_target_value(Some("win.set-clipboard"), Some(&link_variant));
195+
menu.insert_item(1, &item);
197196
text_view.set_extra_menu(Some(&menu));
198197
Ok(())
199198
}

0 commit comments

Comments
 (0)