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;
 }

-- 


Reply via email to