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-20 14:40:38 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-03-20 15:10:34 +0300
commita1addc5c633d4c35eeb491c698052ec9300271dc (patch)
tree2f8cf2086db19233c3e641662f8a3cd540a5fd1e /source/blender/editors/interface/interface_region_popover.c
parent69fb859909c8e99a8e5e9e06607992d5b9a41473 (diff)
UI: support for popups starting with buttons activated
While this could already be done from C, this is now exposed to Python
Diffstat (limited to 'source/blender/editors/interface/interface_region_popover.c')
-rw-r--r--source/blender/editors/interface/interface_region_popover.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_region_popover.c b/source/blender/editors/interface/interface_region_popover.c
index d15eb7a3246..3176c7a454a 100644
--- a/source/blender/editors/interface/interface_region_popover.c
+++ b/source/blender/editors/interface/interface_region_popover.c
@@ -302,16 +302,24 @@ int UI_popover_panel_invoke(
return (OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH);
}
+ uiBlock *block = NULL;
if (keep_open) {
- ui_popover_panel_create(C, NULL, NULL, ui_item_paneltype_func, pt);
+ uiPopupBlockHandle *handle = ui_popover_panel_create(C, NULL, NULL, ui_item_paneltype_func, pt);
+ uiPopover *pup = handle->popup_create_vars.arg;
+ block = pup->block;
+
}
else {
uiPopover *pup = UI_popover_begin(C, U.widget_unit * pt->ui_units_x);
layout = UI_popover_layout(pup);
UI_paneltype_draw(C, pt, layout);
UI_popover_end(C, pup, NULL);
+ block = pup->block;
}
+ if (block) {
+ UI_block_active_only_flagged_buttons(C, CTX_wm_region(C), block);
+ }
return OPERATOR_INTERFACE;
}