Commit: bec2fad2153494c9096b213ce0ce46e832fcb1bf
Author: Nathan Craddock
Date: Wed Aug 12 16:12:00 2020 -0600
Branches: soc-2020-outliner
https://developer.blender.org/rBbec2fad2153494c9096b213ce0ce46e832fcb1bf
Collections: Show correct icon for move to collection submenus
The submenu would show the scene data icon for the first entry in each
submenu rather than using the collection color icon.
===================================================================
M source/blender/editors/object/object_edit.c
===================================================================
diff --git a/source/blender/editors/object/object_edit.c
b/source/blender/editors/object/object_edit.c
index 3612f546dd8..4addd989034 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -1761,7 +1761,19 @@ static void
move_to_collection_menus_free(MoveToCollectionData **menu)
*menu = NULL;
}
-static void move_to_collection_menu_create(bContext *UNUSED(C), uiLayout
*layout, void *menu_v)
+/* TODO (Nathan): Place this in a more ideal location. */
+static int collection_color_to_icon(Collection *collection)
+{
+ int icon = ICON_NONE;
+
+ if (collection->color != COLLECTION_COLOR_NONE) {
+ icon = ICON_COLLECTION_COLOR_01 + (collection->color - 1);
+ }
+
+ return icon;
+}
+
+static void move_to_collection_menu_create(bContext *C, uiLayout *layout, void
*menu_v)
{
MoveToCollectionData *menu = menu_v;
const char *name = BKE_collection_ui_name_get(menu->collection);
@@ -1777,7 +1789,11 @@ static void move_to_collection_menu_create(bContext
*UNUSED(C), uiLayout *layout
uiItemS(layout);
- uiItemIntO(layout, name, ICON_SCENE_DATA, menu->ot->idname,
"collection_index", menu->index);
+ Scene *scene = CTX_data_scene(C);
+ const int icon = (menu->collection == scene->master_collection) ?
+ ICON_SCENE_DATA :
+ collection_color_to_icon(menu->collection);
+ uiItemIntO(layout, name, icon, menu->ot->idname, "collection_index",
menu->index);
for (MoveToCollectionData *submenu = menu->submenus.first; submenu != NULL;
submenu = submenu->next) {
@@ -1785,17 +1801,6 @@ static void move_to_collection_menu_create(bContext
*UNUSED(C), uiLayout *layout
}
}
-static int collection_color_to_icon(Collection *collection)
-{
- int icon = ICON_NONE;
-
- if (collection->color != COLLECTION_COLOR_NONE) {
- icon = ICON_COLLECTION_COLOR_01 + (collection->color - 1);
- }
-
- return icon;
-}
-
static void move_to_collection_menus_items(uiLayout *layout,
MoveToCollectionData *menu)
{
const int icon = collection_color_to_icon(menu->collection);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs