[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