1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-02 16:48:55 +00:00

Make Menu/OptionButton item auto-highlight behave better

(cherry picked from commit 50506e19a6)
This commit is contained in:
Michael Alexsander
2022-08-19 15:19:34 -03:00
committed by Rémi Verschelde
parent 5c9ced191b
commit 4744a8a1a9
6 changed files with 21 additions and 13 deletions

View File

@@ -64,6 +64,8 @@ void BaseButton::_gui_input(Ref<InputEvent> p_event) {
bool button_masked = mouse_button.is_valid() && ((1 << (mouse_button->get_button_index() - 1)) & button_mask) > 0;
if (button_masked || ui_accept) {
was_mouse_pressed = button_masked;
on_action_event(p_event);
return;
}
@@ -388,6 +390,10 @@ Ref<ButtonGroup> BaseButton::get_button_group() const {
return button_group;
}
bool BaseButton::_was_pressed_by_mouse() const {
return was_mouse_pressed;
}
void BaseButton::_bind_methods() {
ClassDB::bind_method(D_METHOD("_gui_input"), &BaseButton::_gui_input);
ClassDB::bind_method(D_METHOD("_unhandled_input"), &BaseButton::_unhandled_input);
@@ -449,6 +455,7 @@ BaseButton::BaseButton() {
toggle_mode = false;
shortcut_in_tooltip = true;
keep_pressed_outside = false;
was_mouse_pressed = false;
status.pressed = false;
status.press_attempt = false;
status.hovering = false;