rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=edb89738f40f53a8cacfa0f90778104e303dbf18
commit edb89738f40f53a8cacfa0f90778104e303dbf18 Author: Vitalii Vorobiov <[email protected]> Date: Wed Jan 18 19:20:03 2017 +0200 image_manager: add groups image, image sets and vectors are different things --- src/bin/ui/image_manager.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 8873cd4..a7c0a0a 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -77,12 +77,17 @@ struct _Image_Manager } bg_switcher; #endif Search_Data image_search_data; + + Elm_Object_Item *image_set_header; + Elm_Object_Item *image_header; + Elm_Object_Item *vector_header; }; static Eina_Bool _on_image_done(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info); static void _image_info_setup(const Image_Item* it); static Image_Manager mng; +static Elm_Gengrid_Item_Class *gic_group = NULL; static Elm_Gengrid_Item_Class *gic = NULL; static Elm_Gengrid_Item_Class *gic_set = NULL; @@ -448,6 +453,21 @@ _grid_del(void *data, free(it); } +static char * +_grid_group_label_get(void *data, + Evas_Object *obj __UNUSED__, + const char *part __UNUSED__) +{ + return strdup(data); +} + +static void +_grid_group_del(void *data, + Evas_Object *obj __UNUSED__) +{ + eina_stringshare_del(data); +} + static void _image_info_setup(const Image_Item* it) { @@ -881,9 +901,15 @@ _image_manager_init(void) int counter = 0; Image2 *res = NULL; Image_Set2 *image_set = NULL; + Eina_Stringshare *name; images = ap.project->RM.images; + /* + * Add group image + */ + name = eina_stringshare_add(_("Image")); + mng.image_header = elm_gengrid_item_append(mng.gengrid, gic_group, name, NULL, NULL); if (images) { EINA_LIST_FOREACH(images, l, res) @@ -901,6 +927,11 @@ _image_manager_init(void) elm_gengrid_item_bring_in(elm_gengrid_first_item_get(mng.gengrid), ELM_GENGRID_ITEM_SCROLLTO_TOP); } + /* + * Add group image-set + */ + name = eina_stringshare_add(_("Image Set")); + mng.image_set_header = elm_gengrid_item_append(mng.gengrid, gic_group, name, NULL, NULL); counter = 0; EINA_LIST_FOREACH(ap.project->RM.image_sets, l, image_set) { @@ -915,6 +946,12 @@ _image_manager_init(void) elm_gengrid_item_append(mng.gengrid, gic_set, it, _grid_sel_cb, NULL); } + /* + * Add group vectors + */ + name = eina_stringshare_add(_("Vectors")); + mng.vector_header = elm_gengrid_item_append(mng.gengrid, gic_group, name, NULL, NULL); + return true; } @@ -1024,6 +1061,15 @@ image_manager_add(void) gic_set->func.del = _grid_del; } + if (!gic_group) + { + gic_group = elm_gengrid_item_class_new(); + gic_group->item_style = "group_index"; + gic_group->func.text_get = _grid_group_label_get; + gic_group->func.content_get = NULL; + gic_group->func.del = _grid_group_del; + } + mng.gengrid = elm_gengrid_add(mng.layout); elm_object_part_content_set(mng.layout, "elm.swallow.list", mng.gengrid); elm_gengrid_item_size_set(mng.gengrid, ITEM_WIDTH, ITEM_HEIGHT); --
