rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=7bae3bec6c83b625099158284cb3a843fd159de8
commit 7bae3bec6c83b625099158284cb3a843fd159de8 Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Thu Sep 8 16:42:55 2016 +0300 popup: finish migration to async version remove old popup_buttons_disabled_set method add popup object as argument to Popup_Content_Cb Conflicts: src/bin/ui/colorclass_manager.c src/bin/ui/project_navigator.c src/bin/ui/sound_manager.c src/bin/ui/style_manager.c --- src/bin/ui/colorclass_manager.c | 24 ++++++++++++++---------- src/bin/ui/main_window.c | 6 +++--- src/bin/ui/main_window.h | 4 +--- src/bin/ui/popup.c | 15 +-------------- src/bin/ui/project_navigator.c | 16 +++++++++------- src/bin/ui/sound_manager.c | 19 +++++++++++-------- src/bin/ui/style_manager.c | 24 +++++++++++++----------- src/bin/ui/workspace/group_navigator.c | 10 +++++----- 8 files changed, 57 insertions(+), 61 deletions(-) diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c index 21be2dd..41e30e9 100644 --- a/src/bin/ui/colorclass_manager.c +++ b/src/bin/ui/colorclass_manager.c @@ -59,36 +59,40 @@ struct _Colorclasses_Manager static Colorclasses_Manager mng; static void -_validation(void *data __UNUSED__, +_validation(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { - if (ELM_REG_NOERROR != resource_name_validator_status_get(mng.name_validator)) + Evas_Object *popup = data; + + assert(popup != NULL); + + if (ELM_REG_NOERROR != resource_name_validator_status_get(mng.name_validator)) { - popup_buttons_disabled_set(BTN_OK, true); - elm_object_signal_emit(obj, "validation,default,fail", "elm"); + popup_button_disabled_set(popup, BTN_OK, true); + elm_object_signal_emit(obj, "validation,default,fail", "elm"); } else { - popup_buttons_disabled_set(BTN_OK, false); - elm_object_signal_emit(obj, "validation,default,pass", "elm"); + popup_button_disabled_set(popup, BTN_OK, false); + elm_object_signal_emit(obj, "validation,default,pass", "elm"); } } -Evas_Object * -_add_colorclass_content_get(void *data __UNUSED__, Evas_Object **to_focus) +static Evas_Object * +_add_colorclass_content_get(void *data __UNUSED__, Evas_Object *popup, Evas_Object **to_focus) { Evas_Object *item = NULL; LAYOUT_PROP_ADD(ap.win, _("Color class name: "), "property", "1swallow") ENTRY_ADD(item, mng.entry, true); eo_event_callback_add(mng.entry, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, mng.name_validator); - evas_object_smart_callback_add(mng.entry, "changed", _validation, NULL); + evas_object_smart_callback_add(mng.entry, "changed", _validation, popup); elm_object_part_text_set(mng.entry, "guide", _("Type new color class name here")); elm_object_part_content_set(item, "elm.swallow.content", mng.entry); mng.item = item; if (to_focus) *to_focus = mng.entry; - popup_buttons_disabled_set(BTN_OK, true); + popup_button_disabled_set(popup, BTN_OK, true); return mng.item; } diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index c96c090..771faeb 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -177,7 +177,7 @@ ui_main_window_add(void) #if !HAVE_TIZEN Evas_Object * -_about_window_content_get(void *data, Evas_Object **to_focus __UNUSED__) +_about_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus __UNUSED__) { Evas_Object *label = (Evas_Object *) data; elm_object_text_set(label, @@ -220,7 +220,7 @@ about_window_add(void) #else Evas_Object * -_about_window_content_get(void *data, Evas_Object **to_focus __UNUSED__) +_about_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus __UNUSED__) { Evas_Object *layout = (Evas_Object *)data; elm_layout_theme_set(layout, "layout", "about", "default"); @@ -240,7 +240,7 @@ about_window_add(void) #endif static Evas_Object * -_shortcuts_window_content_get(void *data, Evas_Object **to_focus __UNUSED__) +_shortcuts_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus __UNUSED__) { Evas_Object *box = data; Evas_Object *scroller = elm_scroller_add(ap.win); diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index c0166f1..19cd2d5 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -121,7 +121,7 @@ typedef Eina_Bool(* Popup_Validator_Func)(void *data); * * @ingroup Window */ -typedef Evas_Object *(* Popup_Content_Get_Func)(void *data, Evas_Object **to_focus); +typedef Evas_Object *(* Popup_Content_Get_Func)(void *data, Evas_Object *popup, Evas_Object **to_focus); #define POPUP_CLOSE_CB "POPUP_CLOSE_CB" /** @@ -364,8 +364,6 @@ popup_active_helper_close(void *data, * @ingroup Window */ void -popup_buttons_disabled_set(Popup_Button p_btns, Eina_Bool disabled); -void popup_button_disabled_set(Evas_Object *popup, Popup_Button btn, Eina_Bool disabled); void diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c index 1c0feef..4ac3e7e 100644 --- a/src/bin/ui/popup.c +++ b/src/bin/ui/popup.c @@ -62,19 +62,6 @@ _delete_object_job(void *data) current = POPUP_NONE; } -void -popup_buttons_disabled_set(Popup_Button popup_btns, Eina_Bool disabled) -{ - if ((popup_btns & BTN_OK) || (popup_btns & BTN_SAVE) || (popup_btns & BTN_REPLACE)) - elm_object_disabled_set(elm_object_part_content_get(ap.popup, "button1"), disabled); - if (popup_btns & BTN_DONT_SAVE) - elm_object_disabled_set(elm_object_part_content_get(ap.popup, "button2"), disabled); - if ((popup_btns & BTN_CANCEL) && (popup_btns & BTN_DONT_SAVE)) - elm_object_disabled_set(elm_object_part_content_get(ap.popup, "button3"), disabled); - if (popup_btns & BTN_CANCEL) - elm_object_disabled_set(elm_object_part_content_get(ap.popup, "button2"), disabled); -} - /* async popup */ #define POPUP_DATA "POPUP_DATA" typedef struct { @@ -169,7 +156,7 @@ popup_add(const char *title, else /* content_get != NULL */ { Evas_Object *to_focus = NULL; - Evas_Object *content = content_get(data, &to_focus); + Evas_Object *content = content_get(data, pd->popup, &to_focus); elm_object_content_set(pd->popup, content); if (to_focus) elm_object_focus_set(to_focus, true); diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c index fda1e7d..212f28c 100644 --- a/src/bin/ui/project_navigator.c +++ b/src/bin/ui/project_navigator.c @@ -368,24 +368,26 @@ _group_sel(void *data __UNUSED__, } static void -_group_validate(void *data __UNUSED__, +_group_validate(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { + Evas_Object *popup = data; + assert(popup != NULL); if (resource_name_validator_status_get(validator) != ELM_REG_NOERROR) { - popup_buttons_disabled_set(BTN_OK, true); + popup_button_disabled_set(popup, BTN_OK, true); elm_object_signal_emit(obj, "validation,default,fail", "elm"); } else { - popup_buttons_disabled_set(BTN_OK, false); + popup_button_disabled_set(popup, BTN_OK, false); elm_object_signal_emit(obj, "validation,default,pass", "elm"); } } -Evas_Object * -_add_group_content_get(void *data __UNUSED__, Evas_Object **to_focus) +static Evas_Object * +_add_group_content_get(void *data __UNUSED__, Evas_Object *popup, Evas_Object **to_focus) { Evas_Object *item; Group *group; @@ -399,7 +401,7 @@ _add_group_content_get(void *data __UNUSED__, Evas_Object **to_focus) /* name: entry */ LAYOUT_PROP_ADD(layout_p.box, _("Name"), "popup", "1swallow") ENTRY_ADD(layout_p.box, layout_p.entry, true) - evas_object_smart_callback_add(layout_p.entry, "changed", _group_validate, NULL); + evas_object_smart_callback_add(layout_p.entry, "changed", _group_validate, popup); eo_event_callback_add(layout_p.entry, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, validator); elm_layout_content_set(item, NULL, layout_p.entry); elm_box_pack_end(layout_p.box, item); @@ -440,7 +442,6 @@ _add_group_content_get(void *data __UNUSED__, Evas_Object **to_focus) elm_object_text_set(layout_p.combobox, _("None")); if (to_focus) *to_focus = layout_p.entry; - popup_buttons_disabled_set(BTN_OK, true); return layout_p.box; } @@ -487,6 +488,7 @@ _btn_add_group_cb(void *data __UNUSED__, validator = resource_name_validator_new(LAYOUT_NAME_REGEX, NULL); resource_name_validator_list_set(validator, &ap.project->groups, false); popup = popup_add(_("Create a new layout"), NULL, BTN_OK|BTN_CANCEL, _add_group_content_get, layout_p.entry); + popup_button_disabled_set(popup, BTN_OK, true); evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, _add_group_popup_close_cb, NULL); } diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c index bbded0c..ea8f630 100644 --- a/src/bin/ui/sound_manager.c +++ b/src/bin/ui/sound_manager.c @@ -322,11 +322,15 @@ _sample_add_cb(void *data, } static void -_validation(void *data __UNUSED__, +_validation(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { + Evas_Object *popup = data; Eina_Bool validate = EINA_FALSE; + + assert(popup != NULL); + if (resource_name_validator_status_get(mng.tone_validator) != ELM_REG_NOERROR) { validate = EINA_FALSE; @@ -351,13 +355,13 @@ _validation(void *data __UNUSED__, if (!validate) - popup_buttons_disabled_set(BTN_OK, true); + popup_button_disabled_set(popup, BTN_OK, true); else - popup_buttons_disabled_set(BTN_OK, false); + popup_button_disabled_set(popup, BTN_OK, false); } Evas_Object * -_add_tone_content_get(void *data __UNUSED__, Evas_Object **to_focus) +_add_tone_content_get(void *data __UNUSED__, Evas_Object *popup, Evas_Object **to_focus) { Evas_Object *item, *box; @@ -366,7 +370,7 @@ _add_tone_content_get(void *data __UNUSED__, Evas_Object **to_focus) LAYOUT_PROP_ADD(box, _("Tone name:"), "popup", "1swallow") ENTRY_ADD(item, mng.tone_entry, true); eo_event_callback_add(mng.tone_entry, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, mng.tone_validator); - evas_object_smart_callback_add(mng.tone_entry, "changed", _validation, NULL); + evas_object_smart_callback_add(mng.tone_entry, "changed", _validation, popup); elm_object_part_text_set(mng.tone_entry, "guide", _("Type a new tone name")); elm_object_part_content_set(item, "elm.swallow.content", mng.tone_entry); /* need to manualy set not valid string for triggered validator */ @@ -376,7 +380,7 @@ _add_tone_content_get(void *data __UNUSED__, Evas_Object **to_focus) LAYOUT_PROP_ADD(box, _("Frequency:"), "popup", "1swallow") ENTRY_ADD(item, mng.frq_entry, true); eo_event_callback_add(mng.frq_entry, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, mng.frq_validator); - evas_object_smart_callback_add(mng.frq_entry, "changed", _validation, NULL); + evas_object_smart_callback_add(mng.frq_entry, "changed", _validation, popup); elm_object_part_text_set(mng.frq_entry, "guide", _("Type a frequency (20 - 20000)")); elm_object_part_content_set(item, "elm.swallow.content", mng.frq_entry); /* need to manualy set not valid string for triggered validator */ @@ -385,7 +389,6 @@ _add_tone_content_get(void *data __UNUSED__, Evas_Object **to_focus) mng.box = box; if (to_focus) *to_focus = mng.tone_entry; - popup_buttons_disabled_set(BTN_OK, true); return box; } @@ -415,8 +418,8 @@ _tone_add_cb(void *data __UNUSED__, resource_name_validator_list_set(mng.tone_validator, &ap.project->tones, true); mng.frq_validator = elm_validator_regexp_new(FREQUENCY_REGEX, NULL); - popup_buttons_disabled_set(BTN_OK, true); popup = popup_add(_("Create a new layout"), NULL, BTN_OK|BTN_CANCEL, _add_tone_content_get, mng.tone_entry); + popup_button_disabled_set(popup, BTN_OK, true); evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, _tone_add_popup_close_cb, NULL); } diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c index da687ab..0bc9977 100644 --- a/src/bin/ui/style_manager.c +++ b/src/bin/ui/style_manager.c @@ -138,24 +138,26 @@ _on_glit_selected(void *data __UNUSED__, } static void -_validate(void *data __UNUSED__, +_validate(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { + Evas_Object *popup = data; + assert(popup != NULL); if (ELM_REG_NOERROR != resource_name_validator_status_get(mng.popup.validator)) { - popup_buttons_disabled_set(BTN_OK, true); + popup_button_disabled_set(popup, BTN_OK, true); elm_object_signal_emit(obj, "validation,default,fail", "elm"); } else { - popup_buttons_disabled_set(BTN_OK, false); + popup_button_disabled_set(popup, BTN_OK, false); elm_object_signal_emit(obj, "validation,default,pass", "elm"); } } -Evas_Object * -_add_style_content_get(void *data __UNUSED__, Evas_Object **to_focus) +static Evas_Object * +_add_style_content_get(void *data __UNUSED__, Evas_Object *popup, Evas_Object **to_focus) { Evas_Object *item; @@ -163,12 +165,12 @@ _add_style_content_get(void *data __UNUSED__, Evas_Object **to_focus) mng.popup.item = item; ENTRY_ADD(mng.popup.item, mng.popup.name, true); eo_event_callback_add(mng.popup.name, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, mng.popup.validator); - evas_object_smart_callback_add(mng.popup.name, "changed", _validate, NULL); + evas_object_smart_callback_add(mng.popup.name, "changed", _validate, popup); elm_object_part_text_set(mng.popup.name, "guide", _("Type a new style name")); elm_object_part_content_set(mng.popup.item, "elm.swallow.content", mng.popup.name); if (to_focus) *to_focus = mng.popup.name; - popup_buttons_disabled_set(BTN_OK, true); + popup_button_disabled_set(popup, BTN_OK, true); return mng.popup.item; } @@ -231,21 +233,21 @@ _style_add_cb(void *data __UNUSED__, evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, _style_add_popup_close_cb_cb, NULL); } -Evas_Object * -_add_tag_content_get(void *data __UNUSED__, Evas_Object **to_focus) +static Evas_Object * +_add_tag_content_get(void *data __UNUSED__, Evas_Object *popup, Evas_Object **to_focus) { Evas_Object *item; LAYOUT_PROP_ADD(mng.win, "Tag name:", "popup", "1swallow"); ENTRY_ADD(item, mng.popup.name, true); eo_event_callback_add(mng.popup.name, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, mng.popup.validator); - evas_object_smart_callback_add(mng.popup.name, "changed", _validate, NULL); + evas_object_smart_callback_add(mng.popup.name, "changed", _validate, popup); elm_object_part_text_set(mng.popup.name, "guide", _("Type a new tag name.")); elm_object_part_content_set(item, "elm.swallow.content", mng.popup.name); mng.popup.item = item; if (to_focus) *to_focus = mng.popup.name; - popup_buttons_disabled_set(BTN_OK, true); + popup_button_disabled_set(popup, BTN_OK, true); return item; } diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index 3317c89..6666950 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -1081,7 +1081,7 @@ _combobox_item_pressed_cb(void *data __UNUSED__, Evas_Object *obj, } static Evas_Object * -_add_part_content_get(void *data, Evas_Object **to_focus) +_add_part_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus) { Combobox_Item *combobox_item; unsigned int i = 0; @@ -1220,7 +1220,7 @@ _popup_add_group_data_close_cb(void *data, } static Evas_Object * -_add_group_data_content_get(void *data, Evas_Object **to_focus) +_add_group_data_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus) { Part_List *pl = (Part_List *) data; Evas_Object *box, *item; @@ -1353,7 +1353,7 @@ group_navigator_part_state_add(Evas_Object *obj, Part *part, State *state) } static Evas_Object * -_add_state_content_get(void *data, Evas_Object **to_focus) +_add_state_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus) { Part_List *pl = (Part_List *)data; Evas_Object *box, *item; @@ -1503,7 +1503,7 @@ group_navigator_part_item_add(Evas_Object *obj, Part *part, Eina_Stringshare * i } static Evas_Object * -_add_item_content_get(void *data, Evas_Object **to_focus) +_add_item_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus) { Part_List *pl = (Part_List *)data; Combobox_Item *combobox_item; @@ -1636,7 +1636,7 @@ _popup_add_program_close_cb(void *data, } static Evas_Object * -_add_program_content_get(void *data, Evas_Object **to_focus) +_add_program_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus) { Part_List *pl = (Part_List *) data; Evas_Object *box, *item; --