Outliner: Don't draw library overrides indicator for override buttons

All the buttons in the Library Overrides display mode would be shown in cyan,
indicating that they are library overrides. Given that this is solely what this
display mode is about, the indicator is just redundant, confusing (why are the
buttons purple?) and looks weird.

Part of T95802.

Reviewed by: Bastien Montagne

Differential Revision: https://developer.blender.org/D14416
This commit is contained in:
Julian Eisel 2022-03-24 17:40:59 +01:00
parent ef228d92f2
commit 511dfb7743
3 changed files with 6 additions and 0 deletions

View File

@ -157,6 +157,8 @@ enum {
UI_BLOCK_POPOVER_ONCE = 1 << 22,
/** Always show key-maps, even for non-menus. */
UI_BLOCK_SHOW_SHORTCUT_ALWAYS = 1 << 23,
/** Don't show library override state for buttons in this block. */
UI_BLOCK_NO_DRAW_OVERRIDDEN_STATE = 1 << 24,
/** The block is only used during the search process and will not be drawn.
* Currently just for the case of a closed panel's sub-panel (and its sub-panels). */
UI_BLOCK_SEARCH_ONLY = 1 << 25,

View File

@ -4963,6 +4963,9 @@ void ui_draw_but(const bContext *C, struct ARegion *region, uiStyle *style, uiBu
}
}
#endif
if (but->block->flag & UI_BLOCK_NO_DRAW_OVERRIDDEN_STATE) {
state &= ~UI_BUT_OVERRIDDEN;
}
const float zoom = 1.0f / but->block->aspect;
wt->state(wt, state, drawflag, but->emboss);

View File

@ -3917,6 +3917,7 @@ void draw_outliner(const bContext *C)
block, region, space_outliner, &space_outliner->tree, true);
UI_block_emboss_set(block, UI_EMBOSS);
UI_block_flag_enable(block, UI_BLOCK_NO_DRAW_OVERRIDDEN_STATE);
const int x = region->v2d.cur.xmax - right_column_width;
outliner_draw_separator(region, x);
outliner_draw_overrides_rna_buts(block, region, space_outliner, &space_outliner->tree, x);