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.
This commit is contained in:
Bastien Montagne 2018-11-06 20:55:12 +01:00
parent 5c18393c8e
commit 2b1843c491
2 changed files with 6 additions and 3 deletions

View File

@ -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 */
};

View File

@ -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;