summaryrefslogtreecommitdiffstats
path: root/scene/gui/menu_button.cpp
diff options
context:
space:
mode:
authorMichael Alexsander Silva Dias <michaelalexsander@protonmail.com>2018-09-21 02:18:40 -0300
committerMichael Alexsander Silva Dias <michaelalexsander@protonmail.com>2018-12-11 19:23:26 -0200
commit8f9447310d83c6519df5579d02a6adcd79840c04 (patch)
treeeac89a74dae9c6af6d6bc7bb0cf925146222fede /scene/gui/menu_button.cpp
parent37e198c32006d18c9443bf65963ba8182b7d76a6 (diff)
downloadredot-engine-8f9447310d83c6519df5579d02a6adcd79840c04.tar.gz
Enable toggle behaviour for buttons that trigger popups
Diffstat (limited to 'scene/gui/menu_button.cpp')
-rw-r--r--scene/gui/menu_button.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/scene/gui/menu_button.cpp b/scene/gui/menu_button.cpp
index b4cb297900..b549bc4280 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() {