Fix T89350: Emboss color missing from icon buttons without emboss

Passing `emboss=False`set `UI_EMBOSS_NONE` in the layout, which
completely disables button background colors for things like animation
state. This commit changes that to `UI_EMBOSS_NONE_OR_STATUS`,
which effectively restores the behavior to what it was prior to the
addition of that flag, with the added option to completely disable
the status emboss with `UI_EMBOSS_NONE`.
This commit is contained in:
2021-06-28 10:00:15 -05:00
parent 6ce4d39e6b
commit 6c97c7f767
2 changed files with 8 additions and 3 deletions

View File

@@ -1191,7 +1191,7 @@ static uiBut *uiItemFullO_ptr_ex(uiLayout *layout,
const eUIEmbossType prev_emboss = layout->emboss; const eUIEmbossType prev_emboss = layout->emboss;
if (flag & UI_ITEM_R_NO_BG) { if (flag & UI_ITEM_R_NO_BG) {
layout->emboss = UI_EMBOSS_NONE; layout->emboss = UI_EMBOSS_NONE_OR_STATUS;
} }
/* create the button */ /* create the button */
@@ -2122,7 +2122,7 @@ void uiItemFullR(uiLayout *layout,
const eUIEmbossType prev_emboss = layout->emboss; const eUIEmbossType prev_emboss = layout->emboss;
if (no_bg) { if (no_bg) {
layout->emboss = UI_EMBOSS_NONE; layout->emboss = UI_EMBOSS_NONE_OR_STATUS;
} }
uiBut *but = NULL; uiBut *but = NULL;

View File

@@ -912,7 +912,12 @@ void RNA_api_ui_layout(StructRNA *srna)
RNA_def_boolean(func, "event", false, "", "Use button to input key events"); RNA_def_boolean(func, "event", false, "", "Use button to input key events");
RNA_def_boolean( RNA_def_boolean(
func, "full_event", false, "", "Use button to input full events including modifiers"); func, "full_event", false, "", "Use button to input full events including modifiers");
RNA_def_boolean(func, "emboss", true, "", "Draw the button itself, not just the icon/text"); RNA_def_boolean(func,
"emboss",
true,
"",
"Draw the button itself, not just the icon/text. When false, corresponds to the "
"'NONE_OR_STATUS' layout emboss type");
RNA_def_int(func, RNA_def_int(func,
"index", "index",
/* RNA_NO_INDEX == -1 */ /* RNA_NO_INDEX == -1 */