Fix secondary-click to open a menu

Fixes https://github.com/emilk/egui/issues/198
This commit is contained in:
Emil Ernerfeldt 2021-03-06 11:11:07 +01:00
parent fa4752f315
commit 007f9f3cb9
4 changed files with 7 additions and 8 deletions

View file

@ -9,6 +9,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## Unreleased ## Unreleased
### Fixed 🐛
* Fixed secondary-click to open a menu
## 0.10.0 - 2021-02-28 - Plot and polish ## 0.10.0 - 2021-02-28 - Plot and polish

View file

@ -185,9 +185,7 @@ pub fn popup_below_widget(
}); });
}); });
if ui.input().key_pressed(Key::Escape) if ui.input().key_pressed(Key::Escape) || widget_response.clicked_elsewhere() {
|| ui.input().pointer.any_click() && !widget_response.clicked()
{
ui.memory().close_popup(); ui.memory().close_popup();
} }
} }

View file

@ -117,9 +117,7 @@ fn menu_impl<'c>(
}); });
// TODO: this prevents sub-menus in menus. We should fix that. // TODO: this prevents sub-menus in menus. We should fix that.
if ui.input().key_pressed(Key::Escape) if ui.input().key_pressed(Key::Escape) || button_response.clicked_elsewhere() {
|| ui.input().pointer.any_click() && !button_response.clicked()
{
bar_state.open_menu = None; bar_state.open_menu = None;
} }
} }

View file

@ -342,8 +342,7 @@ pub fn color_edit_button_hsva(ui: &mut Ui, hsva: &mut Hsva, alpha: Alpha) -> Res
}); });
if !button_response.clicked() { if !button_response.clicked() {
let clicked_outside = ui.input().pointer.any_click() && !area_response.hovered(); if ui.input().key_pressed(Key::Escape) || area_response.clicked_elsewhere() {
if clicked_outside || ui.input().key_pressed(Key::Escape) {
ui.memory().close_popup(); ui.memory().close_popup();
} }
} }