static void __entry_changed(void *data, Evas_Object *obj, void *event_info)
{
retm_if(data == NULL, "Data parameter is NULL");
+ SETTING_TRACE_BEGIN;
Setting_GenGroupItem_Data *list_item =
(Setting_GenGroupItem_Data *) data;
list_item->sub_desc = (char *)g_strdup(elm_entry_entry_get(obj));
}
else
{
- elm_object_signal_emit(entry_container, "elm,state,guidetext,hide", "elm");
- elm_object_signal_emit(entry_container, "elm,state,eraser,show", "elm");
+ if (elm_object_focus_get(obj)) //only do when entry is focused
+ {
+ elm_object_signal_emit(entry_container, "elm,state,guidetext,hide", "elm");
+ elm_object_signal_emit(entry_container, "elm,state,eraser,show", "elm");
+ }
}
}
}
static void __entry_unfocused(void *data, Evas_Object *obj, void *event_info) // Unfocused callback will show guidetext and hide X marked button.
{
ret_if(!data);
+ SETTING_TRACE_BEGIN;
Evas_Object *entry_container = data;
//whe entry unfocused, its guidetext will becomes "Input here"
elm_object_part_text_set(entry_container, "elm.guidetext", _("IDS_ST_BODY_TAP_TO_INSERT"));
static void __entry_focused(void *data, Evas_Object *obj, void *event_info) // Focused callback will show X marked button and hide guidetext.
{
ret_if(!data);
+ SETTING_TRACE_BEGIN;
Evas_Object *entry_container = data;
//whe entry focused, its guidetext will becomes "Input here"
elm_object_part_text_set(entry_container, "elm.guidetext", _("IDS_ST_BODY_TAP_TO_INSERT"));
static void __entry_keydown(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
ret_if(event_info == NULL);
- Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event_info;
- SETTING_TRACE_DEBUG("ev->key : %s", ev->key);
- SETTING_TRACE("obj:%p, %s", obj, elm_entry_entry_get(obj));
-
- Evas_Object *entry_container = elm_object_parent_widget_get(obj);
- if(safeStrLen(elm_entry_entry_get(obj)) > 0) {
- elm_object_signal_emit(entry_container, "elm,state,guidetext,hide", "elm");
+ Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event_info;
+ if(safeStrCmp(ev->key, "Return") == 0) //to disable the 'Enter' orginal function
+ {
+ SETTING_TRACE("ENTER %s ev->key:%s", __FUNCTION__, ev->key);
+ //hide the eraser button
+ //format like:xx<br/>
+ const char *entry_str = remove_first_substring(elm_entry_entry_get(obj), "<br/>");
+ elm_entry_entry_set(obj, entry_str);
+ FREE(entry_str);
+ elm_entry_cursor_end_set(obj);
+ setting_hide_input_pannel_cb(obj);
} else {
- //elm_object_part_text_set(entry_container, "elm.guidetext", _("IDS_ST_BODY_TAP_TO_INSERT"));
- elm_object_signal_emit(entry_container, "elm,state,guidetext,show", "elm");
+ Evas_Object *entry_container = elm_object_parent_widget_get(obj);
+ if(safeStrLen(elm_entry_entry_get(obj)) > 0) {
+ elm_object_signal_emit(entry_container, "elm,state,guidetext,hide", "elm");
+ } else {
+ elm_object_signal_emit(entry_container, "elm,state,guidetext,show", "elm");
+ }
}
+
}
/**
evas_object_smart_callback_add(entry, "focused", __entry_focused, ed_name);
elm_object_signal_callback_add(ed_name, "elm,eraser,clicked", "elm", __eraser_clicked, entry);
- Evas_Object_Event_Cb key_down_cb = __entry_keydown;
if (item_data->start_change_cb) {
- key_down_cb = (Evas_Object_Event_Cb)(item_data->start_change_cb);
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_KEY_DOWN, (Evas_Object_Event_Cb)(item_data->start_change_cb), item_data->userdata);
}
- evas_object_event_callback_add(entry, EVAS_CALLBACK_KEY_DOWN, key_down_cb, item_data->userdata);
-
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_KEY_DOWN, __entry_keydown, item_data);
+
if (item_data->input_panel_disable_flag) {
elm_entry_input_panel_enabled_set(entry, EINA_FALSE);
}