rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=531980489169fad20b06ae1496d1d5e98a2dd12b
commit 531980489169fad20b06ae1496d1d5e98a2dd12b Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 18 09:59:46 2017 +0200 Image manager: add ability to delete images from images set. --- src/bin/ui/image_manager.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 1eff3ae..13537e3 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -207,6 +207,34 @@ _grid_image_set_image_sel(void *data, evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, it); } +static void +_image_set_image_del(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Image_Item *image_set = (Image_Item *)data; + Image_Item *image = NULL; + Eina_List *sel_list = NULL, *l = NULL, *l2 = NULL; + Elm_Object_Item *gengrid_item = NULL; + Elm_Object_Item *gengrid_next_item = NULL; + + assert(mng.image_set.grid != NULL); + sel_list = (Eina_List *)elm_gengrid_selected_items_get(mng.image_set.grid); + + EINA_LIST_FOREACH_SAFE(sel_list, l, l2, gengrid_item) + { + image = (Image_Item *)elm_object_item_data_get(gengrid_item); + CRIT_ON_FAIL(editor_image_set_image_del(ap.project->global_object, image_set->image_name, image->image_name, true)); + + elm_gengrid_item_selected_set(gengrid_item, false); + gengrid_next_item = elm_gengrid_item_next_get(gengrid_item); + elm_object_item_del(gengrid_item); + } + elm_gengrid_item_selected_set(gengrid_next_item, true); + elm_gengrid_realized_items_update(mng.image_set.grid); + elm_gengrid_realized_items_update(mng.gengrid); +} + static inline Evas_Object * _image_manager_image_set_grid_create(Evas_Object *parent, const Image_Item *it) @@ -271,6 +299,7 @@ _image_manager_image_set_grid_create(Evas_Object *parent, button = elm_button_add(layout); elm_object_style_set(button, "minus_managers"); + evas_object_smart_callback_add(button, signals.elm.button.clicked, _image_set_image_del, it); elm_object_part_content_set(layout, "elm.swallow.btn_del", button); evas_object_show(layout); --