rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=05a3df61f87892a50d8f42f08d8a6280e2d8d7fe
commit 05a3df61f87892a50d8f42f08d8a6280e2d8d7fe Author: Vitalii Vorobiov <vi.vorob...@samsung.com> Date: Fri Nov 27 18:48:38 2015 +0200 popup: add button for multiselect-image-helper --- data/themes/default/widgets/layout.edc | 30 ++++++++++++++++++------ src/bin/ui/popup.c | 6 ++++- src/bin/ui/property_group.c | 43 ++++++++++++++++++++-------------- 3 files changed, 53 insertions(+), 26 deletions(-) diff --git a/data/themes/default/widgets/layout.edc b/data/themes/default/widgets/layout.edc index 359685b..4b37090 100644 --- a/data/themes/default/widgets/layout.edc +++ b/data/themes/default/widgets/layout.edc @@ -86,9 +86,6 @@ group { name: "elm/layout/window/main"; } group { name: "elm/layout/popup/hint"; - images { - image: "hint-background.png" COMP; - } parts { part { name: "event"; repeat_events: 1; @@ -103,16 +100,15 @@ group { name: "elm/layout/popup/hint"; type: IMAGE; description { state: "default" 0.0; rel1 { - to: "elm.swallow.content"; offset: -6 -6; } rel2 { - to: "elm.swallow.content"; offset: 6 6; } image { normal: "hint-background.png"; border: 5 5 3 3; + middle: DEFAULT; } } } @@ -120,8 +116,27 @@ group { name: "elm/layout/popup/hint"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.0; - rel1.offset: 6 6; - rel2.offset: -6 -6; + rel1 { + offset: 6 6; + to: "bg"; + } + rel2 { + relative: 1.0 0.0; + offset: -7 -7; + to_x: "bg"; + to_y: "elm.swallow.ok"; + } + } + } + part { name: "elm.swallow.ok"; + type: SWALLOW; + description { state: "default" 0.0; + align: 1.0 1.0; + max: 32 16; + rel2 { + offset: -7 -7; + to: "bg"; + } } } } @@ -134,6 +149,7 @@ group { name: "elm/layout/popup/hint"; } } + group { name: "elm/layout/popup/hint_title"; images { image: "hint-background.png" COMP; diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c index 3a030da..b56536c 100644 --- a/src/bin/ui/popup.c +++ b/src/bin/ui/popup.c @@ -507,7 +507,7 @@ popup_gengrid_image_helper(const char *title, Evas_Object *follow_up, Helper_Done_Cb func, void *data, Eina_Bool multi) { - Evas_Object *gengrid, *entry, *icon; + Evas_Object *gengrid, *entry, *icon, *button; dismiss_func = func; func_data = data; @@ -526,6 +526,10 @@ popup_gengrid_image_helper(const char *title, Evas_Object *follow_up, if (multi) { elm_gengrid_multi_select_set(gengrid, true); + + BUTTON_ADD(fs, button, _("Ok")) + elm_object_part_content_set(helper, "elm.swallow.ok", button); + evas_object_show(button); } else { diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 383d517..c497dae 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -2914,47 +2914,54 @@ _del_tween_image(void *data, } } -static void +Eina_Bool _on_image_editor_tween_done(void *data, Evas_Object *obj __UNUSED__, - void *ei) + void *event_info) { Evas_Object *tween_list = (Evas_Object *)data; - Eina_List *selected = (Eina_List *)ei; - Eina_List *l = NULL; - const char *name = NULL; + const char *selected = (const char *)event_info; +// Eina_List *selected = (Eina_List *)ei; +// Eina_List *l = NULL; +// const char *name = NULL; Group_Prop_Data *pd = evas_object_data_get(tween_list, GROUP_PROP_DATA); assert(pd != NULL); - if (!selected) return; + if (!selected) return false; - EINA_LIST_FOREACH(selected, l, name) - { +// EINA_LIST_FOREACH(selected, l, name) +// { if (edje_edit_state_tween_add(pd->group->edit_object, pd->part->name, pd->part->current_state->parsed_name, - pd->part->current_state->parsed_val, name)) + pd->part->current_state->parsed_val, selected)) { - elm_genlist_item_append(tween_list, _itc_tween, name, NULL, - ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_gengrid_item_append(tween_list, _itc_tween, + eina_stringshare_add(selected), NULL, NULL); //project_changed(false); } - } +// } elm_frame_collapse_go(pd->attributes.state_image.tween, false); - edje_edit_string_list_free(selected); + return true; +// edje_edit_string_list_free(selected); } static void _add_tween_image(void *data, - Evas_Object *obj __UNUSED__, + Evas_Object *obj, void *event_info __UNUSED__) { - Evas_Object *img_edit; Evas_Object *tween_list = (Evas_Object *)data; + Group_Prop_Data *pd = evas_object_data_get(tween_list, GROUP_PROP_DATA); - img_edit = image_editor_window_add(TWEENS); - evas_object_smart_callback_add(img_edit, SIG_IMAGE_SELECTED, - _on_image_editor_tween_done, tween_list); + assert(pd != NULL); + + TODO("Make it multiple selection here please") + popup_gengrid_image_helper(NULL, + obj, + _on_image_editor_tween_done, + tween_list, + true); return; } --