diff options
author | Julian Eisel <julian@blender.org> | 2020-06-29 18:19:43 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-06-29 18:28:37 +0300 |
commit | 937d89afba36ea0f22ad929d2c8bdf8a853dc7d8 (patch) | |
tree | d2e70cf1d6bdd00d203784a196116a8c9ce4070e /source/blender/editors/interface/interface_templates.c | |
parent | 5024c5427140c2d23b1c4c21853becd23c39cd57 (diff) |
UI: Show library status icons in search menus, rather than letter prefix
Rather than a `L` (linked), `O` (overridden) or `M` (missing) prefix for the
name, show the existing library status icons. See D7999 for screenshots.
Note that when using preview icons, or if the search menu contains items with
own icons (e.g. brush icons), we still fallback to the prefix solution.
Zero or fake user is still indicated with a prefix.
Differential Revision: https://developer.blender.org/D7999
Reviewed by: Bastien Montagne, William Reynish
Diffstat (limited to 'source/blender/editors/interface/interface_templates.c')
-rw-r--r-- | source/blender/editors/interface/interface_templates.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index d06c1a251f6..c22eb097761 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -361,11 +361,16 @@ static bool id_search_add(const bContext *C, * followed by ID_NAME-2 characters from id->name */ char name_ui[MAX_ID_FULL_NAME_UI]; - BKE_id_full_name_ui_prefix_get(name_ui, id, UI_SEP_CHAR); - int iconid = ui_id_icon_get(C, id, template_ui->preview); bool has_sep_char = (id->lib != NULL); + /* When using previews, the library hint (linked, overriden, missing) is added with a + * character prefix, otherwise we can use a icon. */ + BKE_id_full_name_ui_prefix_get(name_ui, id, template_ui->preview, UI_SEP_CHAR); + if (!template_ui->preview) { + iconid = UI_library_icon_get(id); + } + if (!UI_search_item_add( items, name_ui, id, iconid, has_sep_char ? UI_BUT_HAS_SEP_CHAR : 0)) { return false; |