Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-03-27 13:39:44 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-03-27 16:26:00 +0300
commit2d34420648e5feacf1237abc975f8ff2a0c2a907 (patch)
tree1a59f1e4afa3d84e6b7899f9501ad5a346054571 /source/blender/editors/interface/interface_handlers.c
parente3b83e2921922a45db5a33c739e1d993452944d0 (diff)
UI: support an 'active default' button for pop-ups
Use this for the save confirmation dialog so it has a default action when pressing enter which draws with a highlight so it's clear what the default action is (the dialog was just closing before). Resolves T57686
Diffstat (limited to 'source/blender/editors/interface/interface_handlers.c')
-rw-r--r--source/blender/editors/interface/interface_handlers.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index d1294dcfed2..c388ed40851 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -9241,9 +9241,16 @@ static int ui_handle_menu_event(
menu->menuretval = UI_RETURN_CANCEL;
}
else if (ELEM(event->type, RETKEY, PADENTER) && event->val == KM_PRESS) {
+ uiBut *but_active = ui_region_find_first_but_test_flag(ar, UI_BUT_ACTIVE_DEFAULT, UI_HIDDEN);
+ if (but_active != NULL) {
+ ui_handle_button_activate(C, ar, but_active, BUTTON_ACTIVATE);
+ /* Get again below just incase it's disabled for eg. */
+ }
+ but_active = ui_region_find_active_but(ar);
+
/* enter will always close this block, we let the event
* get handled by the button if it is activated, otherwise we cancel */
- if (!ui_region_find_active_but(ar)) {
+ if (but_active == NULL) {
menu->menuretval = UI_RETURN_CANCEL | UI_RETURN_POPUP_OK;
}
}