[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