[Bf-blender-cvs] [6a2c968c00c] soc-2020-outliner: UI: Move collection color icon function

Nathan Craddock noreply at git.blender.org
Thu Aug 13 01:01:03 CEST 2020


Commit: 6a2c968c00c9084a6dfdb2fe5d58fcc0fa3125b6
Author: Nathan Craddock
Date:   Wed Aug 12 16:53:55 2020 -0600
Branches: soc-2020-outliner
https://developer.blender.org/rB6a2c968c00c9084a6dfdb2fe5d58fcc0fa3125b6

UI: Move collection color icon function

Just a cleanup to reduce repetition.

===================================================================

M	source/blender/editors/include/UI_interface_icons.h
M	source/blender/editors/interface/interface_icons.c
M	source/blender/editors/object/object_edit.c
M	source/blender/windowmanager/intern/wm_operators.c

===================================================================

diff --git a/source/blender/editors/include/UI_interface_icons.h b/source/blender/editors/include/UI_interface_icons.h
index 7b59d45b203..0e0891cb526 100644
--- a/source/blender/editors/include/UI_interface_icons.h
+++ b/source/blender/editors/include/UI_interface_icons.h
@@ -32,6 +32,7 @@ struct PointerRNA;
 struct PreviewImage;
 struct Scene;
 struct bContext;
+struct Collection;
 
 enum eIconSizes;
 
@@ -106,6 +107,7 @@ struct PreviewImage *UI_icon_to_preview(int icon_id);
 int UI_rnaptr_icon_get(struct bContext *C, struct PointerRNA *ptr, int rnaicon, const bool big);
 int UI_idcode_icon_get(const int idcode);
 int UI_library_icon_get(const struct ID *id);
+int UI_collection_color_icon_get(const struct Collection *collection);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index 1fa6a2e9b4f..46c962b9305 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -2365,6 +2365,17 @@ int UI_idcode_icon_get(const int idcode)
   }
 }
 
+int UI_collection_color_icon_get(const Collection *collection)
+{
+  int icon = ICON_NONE;
+
+  if (collection->color != COLLECTION_COLOR_NONE) {
+    icon = ICON_COLLECTION_COLOR_01 + (collection->color - 1);
+  }
+
+  return icon;
+}
+
 /* draws icon with dpi scale factor */
 void UI_icon_draw(float x, float y, int icon_id)
 {
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 4addd989034..c911d62f392 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -100,6 +100,8 @@
 #include "RNA_define.h"
 #include "RNA_enum_types.h"
 
+#include "UI_interface_icons.h"
+
 #include "CLG_log.h"
 
 /* for menu/popup icons etc etc*/
@@ -1761,18 +1763,6 @@ static void move_to_collection_menus_free(MoveToCollectionData **menu)
   *menu = NULL;
 }
 
-/* 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;
@@ -1792,7 +1782,7 @@ static void move_to_collection_menu_create(bContext *C, uiLayout *layout, void *
   Scene *scene = CTX_data_scene(C);
   const int icon = (menu->collection == scene->master_collection) ?
                        ICON_SCENE_DATA :
-                       collection_color_to_icon(menu->collection);
+                       UI_collection_color_icon_get(menu->collection);
   uiItemIntO(layout, name, icon, menu->ot->idname, "collection_index", menu->index);
 
   for (MoveToCollectionData *submenu = menu->submenus.first; submenu != NULL;
@@ -1803,7 +1793,7 @@ static void move_to_collection_menu_create(bContext *C, uiLayout *layout, void *
 
 static void move_to_collection_menus_items(uiLayout *layout, MoveToCollectionData *menu)
 {
-  const int icon = collection_color_to_icon(menu->collection);
+  const int icon = UI_collection_color_icon_get(menu->collection);
 
   if (BLI_listbase_is_empty(&menu->submenus)) {
     uiItemIntO(layout,
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 51e629520d8..9adf4b95d04 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -3972,18 +3972,6 @@ static bool rna_id_enum_filter_single(ID *id, void *user_data)
   return (id != user_data);
 }
 
-/* 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;
-}
-
 /* Generic itemf's for operators that take library args */
 static const EnumPropertyItem *rna_id_itemf(bContext *UNUSED(C),
                                             PointerRNA *UNUSED(ptr),
@@ -4008,7 +3996,7 @@ static const EnumPropertyItem *rna_id_itemf(bContext *UNUSED(C),
 
       /* Show collection color tag icons in menus. */
       if (GS(id->name) == ID_GR) {
-        item_tmp.icon = collection_color_to_icon((Collection *)id);
+        item_tmp.icon = UI_collection_color_icon_get((Collection *)id);
       }
 
       RNA_enum_item_add(&item, &totitem, &item_tmp);



More information about the Bf-blender-cvs mailing list