diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-04-25 17:47:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-25 17:47:23 +0200 |
commit | cce2e4b07c1c4b6f2f9d72cac340d9f9ecbb790e (patch) | |
tree | 60fd0e7dc619159522d34434e1507580508d8a33 /scene/gui/menu_button.cpp | |
parent | 9fc84061dd0e578a038205fee155846951e9a879 (diff) | |
parent | 8f9447310d83c6519df5579d02a6adcd79840c04 (diff) | |
download | redot-engine-cce2e4b07c1c4b6f2f9d72cac340d9f9ecbb790e.tar.gz |
Merge pull request #22301 from YeldhamDev/button_popup_highlight
Enable toggle behaviour for buttons that trigger popups
Diffstat (limited to 'scene/gui/menu_button.cpp')
-rw-r--r-- | scene/gui/menu_button.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scene/gui/menu_button.cpp b/scene/gui/menu_button.cpp index b67d8c00d6..a011b793de 100644 --- a/scene/gui/menu_button.cpp +++ b/scene/gui/menu_button.cpp @@ -116,15 +116,19 @@ MenuButton::MenuButton() { switch_on_hover = false; set_flat(true); + set_toggle_mode(true); set_disable_shortcuts(false); set_enabled_focus_mode(FOCUS_NONE); + set_process_unhandled_key_input(true); + set_action_mode(ACTION_MODE_BUTTON_PRESS); + popup = memnew(PopupMenu); popup->hide(); add_child(popup); popup->set_as_toplevel(true); popup->set_pass_on_modal_close_click(false); - set_process_unhandled_key_input(true); - set_action_mode(ACTION_MODE_BUTTON_PRESS); + popup->connect("about_to_show", this, "set_pressed", varray(true)); // For when switching from another MenuButton. + popup->connect("popup_hide", this, "set_pressed", varray(false)); } MenuButton::~MenuButton() { |