X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2Felm_searchbar.c;h=b1b0c9f6a8d4edbae9d5350cbeba5bc313466848;hb=fe8e3ff6847a4dc7b606f5e7ea81d19083303ce7;hp=1db16fda553895948656e4be687633965d0c05e2;hpb=232b6caaabab085ae1df1a8f276437ad2c67d2ca;p=framework%2Fuifw%2Felementary.git diff --git a/src/lib/elm_searchbar.c b/src/lib/elm_searchbar.c index 1db16fd..b1b0c9f 100644 --- a/src/lib/elm_searchbar.c +++ b/src/lib/elm_searchbar.c @@ -42,6 +42,8 @@ static void _del_hook(Evas_Object *obj) static void _theme_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); + char buf[4096]; + if (!wd) return; _elm_theme_object_set(obj, wd->base, "searchbar", "base", elm_widget_style_get(obj)); @@ -51,6 +53,12 @@ static void _theme_hook(Evas_Object *obj) if (wd->cancel_btn) edje_object_part_swallow(wd->base, "button_cancel", wd->cancel_btn); + snprintf(buf, sizeof(buf), "searchbar/%s", elm_widget_style_get(obj)); + elm_object_style_set(wd->eb, buf); + + snprintf(buf, sizeof(buf), "searchbar/%s", elm_widget_style_get(obj)); + elm_object_style_set(wd->cancel_btn, buf); + edje_object_scale_set(wd->cancel_btn, elm_widget_scale_get(obj) * _elm_config->scale); _sizing_eval(obj); } @@ -127,15 +135,23 @@ static void _cancel_clicked(void *data, Evas_Object *obj, void *event_info) } static void -_searchicon_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) +_basebg_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { Widget_Data *wd = elm_widget_data_get(data); + if (!wd) return; - if (!strcmp(source, "search_icon")) - evas_object_smart_callback_call(data, "searchsymbol,clicked", NULL); - else if (!strcmp(source, "base_bg")) - _clicked(data, obj, NULL); //emission, source); + if (!strcmp(source, "base_bg")) + _clicked(data, obj, NULL); +} + +static void +_searchsymbol_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Widget_Data *wd = elm_widget_data_get(data); + + if (!wd) return; + evas_object_smart_callback_call(data, "searchsymbol,clicked", NULL); } /** @@ -150,6 +166,7 @@ EAPI Evas_Object *elm_searchbar_add(Evas_Object *parent) Evas_Object *obj; Evas *e; Widget_Data *wd; + char buf[4096]; wd = ELM_NEW(Widget_Data); e = evas_object_evas_get(parent); @@ -174,21 +191,27 @@ EAPI Evas_Object *elm_searchbar_add(Evas_Object *parent) // Add Entry wd->eb = elm_editfield_add(parent); - elm_object_style_set(wd->eb, "searchbar"); + snprintf(buf, sizeof(buf), "searchbar/%s", elm_widget_style_get(obj)); + elm_object_style_set(wd->eb, buf); + edje_object_part_swallow(wd->base, "search_textfield", wd->eb); // elm_editfield_guide_text_set(wd->eb, "Search"); elm_editfield_entry_single_line_set(wd->eb, EINA_TRUE); elm_editfield_eraser_set(wd->eb, EINA_TRUE); evas_object_smart_callback_add(wd->eb, "clicked", _clicked, obj); evas_object_smart_callback_add(elm_editfield_entry_get(wd->eb), "changed", _changed, obj); - edje_object_signal_callback_add(wd->base, "mouse,up,1", "*", _searchicon_clicked, obj); + edje_object_signal_callback_add(wd->base, "mouse,up,1", "*", _basebg_clicked, obj); + edje_object_signal_callback_add(wd->base, "elm,action,click", "", _searchsymbol_clicked, obj); elm_widget_sub_object_add(obj, wd->eb); // Add Button wd->cancel_btn = elm_button_add(parent); edje_object_part_swallow(wd->base, "button_cancel", wd->cancel_btn); - elm_object_style_set(wd->cancel_btn, "custom/darkblue"); + + snprintf(buf, sizeof(buf), "searchbar/%s", elm_widget_style_get(obj)); + elm_object_style_set(wd->cancel_btn, buf); + elm_button_label_set(wd->cancel_btn, "Cancel"); evas_object_smart_callback_add(wd->cancel_btn, "clicked", _cancel_clicked, obj); elm_widget_sub_object_add(obj, wd->cancel_btn);