[Bf-blender-cvs] [2b1843c491c] blender2.8: Fix broken shortcuts in F3 'operator search' menu.
Bastien Montagne
noreply at git.blender.org
Tue Nov 6 20:56:46 CET 2018
Commit: 2b1843c491c8caaaa08956e2edc1c6096c938839
Author: Bastien Montagne
Date: Tue Nov 6 20:55:12 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB2b1843c491c8caaaa08956e2edc1c6096c938839
Fix broken shortcuts in F3 'operator search' menu.
>From own changes in that area... Now we also enforce handling shortcuts
in case relevant drawflag of searchbutton is set. Should allow to cover
all cases, hopefully.
===================================================================
M source/blender/editors/include/UI_interface.h
M source/blender/editors/interface/interface_region_search.c
===================================================================
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index c6f631db48f..d0d2b83f7cc 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -235,7 +235,8 @@ enum {
UI_BUT_ACTIVE_LEFT = (1 << 21), /* Active left part of number button */
UI_BUT_ACTIVE_RIGHT = (1 << 22), /* Active right part of number button */
- UI_BUT_HAS_SHORTCUT = (1 << 23), /* Button has shortcut text */
+ /* (also used by search buttons to enforce shortcut display for their items). */
+ UI_BUT_HAS_SHORTCUT = (1 << 23), /* Button has shortcut text. */
UI_BUT_ICON_REVERSE = (1 << 24), /* Reverse order of consecutive off/on icons */
};
diff --git a/source/blender/editors/interface/interface_region_search.c b/source/blender/editors/interface/interface_region_search.c
index 471055ed24a..48d59830c2a 100644
--- a/source/blender/editors/interface/interface_region_search.c
+++ b/source/blender/editors/interface/interface_region_search.c
@@ -534,8 +534,9 @@ ARegion *ui_searchbox_create_generic(bContext *C, ARegion *butregion, uiBut *but
}
/* Only show key shortcuts when needed (checking RNA prop pointer is useless here, a lot of buttons are about data
- * without having that pointer defined, let's rather try with optype!). */
- if (but->optype != NULL) {
+ * without having that pointer defined, let's rather try with optype!). One can also enforce that behavior by
+ * setting UI_BUT_HAS_SHORTCUT drawflag of search button. */
+ if (but->optype != NULL || (but->drawflag & UI_BUT_HAS_SHORTCUT) != 0) {
data->use_sep = true;
}
@@ -754,6 +755,7 @@ ARegion *ui_searchbox_create_operator(bContext *C, ARegion *butregion, uiBut *bu
{
ARegion *ar;
+ UI_but_drawflag_enable(but, UI_BUT_HAS_SHORTCUT);
ar = ui_searchbox_create_generic(C, butregion, but);
ar->type->draw = ui_searchbox_region_draw_cb__operator;
More information about the Bf-blender-cvs
mailing list