rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=35bc2b7096474a725d2e1d92c7deff88c403ab86

commit 35bc2b7096474a725d2e1d92c7deff88c403ab86
Author: Mykyta Biliavskyi <[email protected]>
Date:   Wed Jun 29 14:57:45 2016 +0300

    Group navigator: use unified popup API for "group data add" dialog.
---
 src/bin/ui/workspace/group_navigator.c | 56 ++++++++++++++++++----------------
 1 file changed, 30 insertions(+), 26 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index 696ed55..869bfb5 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -1147,24 +1147,18 @@ _popup_add_group_data_ok_clicked(void *data,
    ecore_job_add(_job_popup_del, pl);
 }
 
-static void
-_on_menu_add_group_data_clicked(void *data __UNUSED__,
-                                Evas_Object *obj,
-                                void *ei __UNUSED__)
+Eina_Bool
+_popup_add_group_data_validator(void *data)
 {
-   Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA);
+   _popup_add_group_data_ok_clicked(data, NULL, NULL);
+   return true;
+}
 
-   Eina_Stringshare *title;
+Evas_Object *
+_add_group_data_content_get(void *data)
+{
+   Part_List *pl = (Part_List *) data;
    Evas_Object *box, *item;
-
-   assert(pl != NULL);
-
-   ap.popup = elm_popup_add(ap.win);
-   elm_popup_orient_set(ap.popup, ELM_POPUP_ORIENT_CENTER);
-   title = eina_stringshare_printf(_("Add New Data Item to Group \"%s\""), 
pl->group->name);
-   elm_object_part_text_set(ap.popup, "title,text", title);
-   eina_stringshare_del(title);
-
    BOX_ADD(ap.popup, box, false, false);
 
    LAYOUT_PROP_ADD(box, _("Data item name"), "popup", "1swallow")
@@ -1177,21 +1171,31 @@ _on_menu_add_group_data_clicked(void *data __UNUSED__,
    evas_object_show(pl->popup.entry_name);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.entry_name);
    elm_box_pack_end(box, item);
+   elm_object_focus_set(pl->popup.entry_name, true);
 
-   elm_object_content_set(ap.popup, box);
-   BUTTON_ADD(box, pl->popup.btn_add, _("Add"));
-   evas_object_smart_callback_add(pl->popup.btn_add, "clicked", 
_popup_add_group_data_ok_clicked, pl);
-   elm_object_part_content_set(ap.popup, "button1", pl->popup.btn_add);
-   elm_object_disabled_set(pl->popup.btn_add, true);
+   pl->popup.box = box;
 
-   BUTTON_ADD(box, pl->popup.btn_cancel, _("Cancel"));
-   evas_object_smart_callback_add(pl->popup.btn_cancel, "clicked", 
_popup_cancel_clicked, pl);
-   elm_object_part_content_set(ap.popup, "button2", pl->popup.btn_cancel);
+   return pl->popup.box;
+}
 
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, true);
+static void
+_on_menu_add_group_data_clicked(void *data __UNUSED__,
+                                Evas_Object *obj,
+                                void *ei __UNUSED__)
+{
+   Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA);
 
-   elm_object_focus_set(pl->popup.entry_name, true);
-   evas_object_show(ap.popup);
+   Eina_Stringshare *title;
+
+   assert(pl != NULL);
+
+   title = eina_stringshare_printf(_("Add New Data Item to Group \"%s\""), 
pl->group->name);
+   Popup_Button button = popup_want_action(title, NULL, 
_add_group_data_content_get,
+                                           NULL, BTN_OK | BTN_CANCEL,
+                                           _popup_add_group_data_validator, 
pl);
+   if (button == BTN_CANCEL)
+     evas_object_del(pl->popup.box);
+   eina_stringshare_del(title);
 }
 
 static void

-- 


Reply via email to