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