summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoungbok Shin <youngb.shin@samsung.com>2014-01-20 18:45:51 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-01-20 18:45:51 +0900
commitd8821dea6997728a3645c171b0d2258d93d9d498 (patch)
tree95843fccad0631a513aa7c8fc341ad71f53d4258
parenteee7ea4130ec239ac5d009aa227c3b2bbcfece39 (diff)
entry: Add smart activate for accessbility.
Summary: In TTS mode, when the entry is highlighten and double tap to the entry, the entry will be focused. But "clicked" smart callback is not called, input panel is not shown. So I we need to call the callback and show input panel in smart activate. Reviewers: seoz, Hermet, woohyun, tasn, jaehwan, raster Reviewed By: raster Differential Revision: https://phab.enlightenment.org/D465
-rw-r--r--src/lib/elm_entry.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c
index 1ed060589..af3aeddaa 100644
--- a/src/lib/elm_entry.c
+++ b/src/lib/elm_entry.c
@@ -5808,6 +5808,27 @@ _anchor_hover_end(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
5808/* END - ANCHOR HOVER */ 5808/* END - ANCHOR HOVER */
5809 5809
5810static void 5810static void
5811_elm_entry_smart_activate(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
5812{
5813 Elm_Activate act = va_arg(*list, Elm_Activate);
5814 Eina_Bool *ret = va_arg(*list, Eina_Bool *);
5815 if (ret) *ret = EINA_FALSE;
5816
5817 if (act != ELM_ACTIVATE_DEFAULT) return;
5818
5819 ELM_ENTRY_DATA_GET(obj, sd);
5820
5821 if (!elm_widget_disabled_get(obj) &&
5822 !evas_object_freeze_events_get(obj))
5823 {
5824 evas_object_smart_callback_call(obj, SIG_CLICKED, NULL);
5825 if (sd->editable && sd->input_panel_enable)
5826 edje_object_part_text_input_panel_show(sd->entry_edje, "elm.text");
5827 }
5828 if (ret) *ret = EINA_TRUE;
5829}
5830
5831static void
5811_elm_entry_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) 5832_elm_entry_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list)
5812{ 5833{
5813 Eina_Bool *ret = va_arg(*list, Eina_Bool *); 5834 Eina_Bool *ret = va_arg(*list, Eina_Bool *);
@@ -5839,6 +5860,7 @@ _class_constructor(Eo_Class *klass)
5839 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_TRANSLATE), _elm_entry_smart_translate), 5860 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_TRANSLATE), _elm_entry_smart_translate),
5840 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ON_FOCUS_REGION), _elm_entry_smart_on_focus_region), 5861 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ON_FOCUS_REGION), _elm_entry_smart_on_focus_region),
5841 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_SUB_OBJECT_DEL), _elm_entry_smart_sub_object_del), 5862 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_SUB_OBJECT_DEL), _elm_entry_smart_sub_object_del),
5863 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ACTIVATE), _elm_entry_smart_activate),
5842 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_entry_smart_focus_next_manager_is), 5864 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_entry_smart_focus_next_manager_is),
5843 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_entry_smart_focus_direction_manager_is), 5865 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_entry_smart_focus_direction_manager_is),
5844 5866