[Bf-blender-cvs] [eff89030263] blender2.8: UI: hide scene / layer in properties context in some cases, for compactness.
Brecht Van Lommel
noreply at git.blender.org
Mon Nov 19 19:21:33 CET 2018
Commit: eff89030263b95d39059226708227721ecaa505b
Author: Brecht Van Lommel
Date: Mon Nov 19 16:21:16 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBeff89030263b95d39059226708227721ecaa505b
UI: hide scene / layer in properties context in some cases, for compactness.
===================================================================
M source/blender/editors/space_buttons/buttons_context.c
===================================================================
diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c
index 226a663971e..151959a916e 100644
--- a/source/blender/editors/space_buttons/buttons_context.c
+++ b/source/blender/editors/space_buttons/buttons_context.c
@@ -1014,6 +1014,7 @@ void buttons_context_draw(const bContext *C, uiLayout *layout)
PointerRNA *ptr;
char namebuf[128], *name;
int a, icon;
+ bool first = true;
if (!path)
return;
@@ -1024,29 +1025,36 @@ void buttons_context_draw(const bContext *C, uiLayout *layout)
for (a = 0; a < path->len; a++) {
ptr = &path->ptr[a];
- if (a != 0)
+ /* Skip scene and view layer to save space. */
+ if ((!ELEM(sbuts->mainb, BCONTEXT_RENDER, BCONTEXT_OUTPUT, BCONTEXT_SCENE, BCONTEXT_VIEW_LAYER, BCONTEXT_WORLD) && ptr->type == &RNA_Scene)) {
+ continue;
+ }
+ else if ((!ELEM(sbuts->mainb, BCONTEXT_RENDER, BCONTEXT_OUTPUT, BCONTEXT_SCENE, BCONTEXT_VIEW_LAYER, BCONTEXT_WORLD) && ptr->type == &RNA_ViewLayer)) {
+ continue;
+ }
+
+ /* Add > triangle. */
+ if (!first) {
uiItemL(row, "", ICON_SMALL_TRI_RIGHT_VEC);
+ }
+ else {
+ first = false;
+ }
+ /* Add icon + name .*/
if (ptr->data) {
icon = RNA_struct_ui_icon(ptr->type);
name = RNA_struct_name_get_alloc(ptr, namebuf, sizeof(namebuf), NULL);
if (name) {
- if ((!ELEM(sbuts->mainb, BCONTEXT_RENDER, BCONTEXT_OUTPUT, BCONTEXT_SCENE, BCONTEXT_VIEW_LAYER, BCONTEXT_WORLD) && ptr->type == &RNA_Scene)) {
- uiItemLDrag(row, ptr, "", icon); /* save some space */
- }
- else if ((!ELEM(sbuts->mainb, BCONTEXT_RENDER, BCONTEXT_OUTPUT, BCONTEXT_SCENE, BCONTEXT_VIEW_LAYER, BCONTEXT_WORLD) && ptr->type == &RNA_ViewLayer)) {
- uiItemLDrag(row, ptr, "", icon); /* save some space */
- }
- else {
- uiItemLDrag(row, ptr, name, icon);
- }
+ uiItemLDrag(row, ptr, name, icon);
if (name != namebuf)
MEM_freeN(name);
}
- else
+ else {
uiItemL(row, "", icon);
+ }
}
}
More information about the Bf-blender-cvs
mailing list