Emit "elm,key,action,activate" signal 67/171667/10
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 6 Mar 2018 09:18:59 +0000 (18:18 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Mon, 26 Mar 2018 05:57:04 +0000 (05:57 +0000)
An widget could be activated by key event, or AT-client such as screen-reader.
User could want to get sound feedback for this kind of activation.
The "elm,key,action,activate" signal will work for this.

Change-Id: I152b77dcc46dcdba4f73c9a5c962db7e5f8bfa1f

src/lib/elm_button.c
src/lib/elm_check.c
src/lib/elm_entry.c
src/lib/elm_radio.c
src/mobile_lib/elc_ctxpopup.c

index 6d9321c7c93769bd873a21f723bd8ca0f8082b18..77b219e93e6c7f0349945a87a72ce0e6e78e971d 100644 (file)
@@ -168,6 +168,7 @@ static Eina_Bool
 _key_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
 {
    elm_layout_signal_emit(obj, "elm,anim,activate", "elm");
+   elm_layout_signal_emit(obj, "elm,key,action,activate", "elm");
    _activate(obj);
    return EINA_TRUE;
 }
index 5966a64e6ca888daf7f10cb4aac96487ebb3949f..4010a24179dc8add10a5fcd78f93f47f0f83d5d6 100644 (file)
@@ -178,6 +178,7 @@ _elm_check_elm_layout_sizing_eval(Eo *obj, Elm_Check_Data *_pd EINA_UNUSED)
 static Eina_Bool
 _key_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
 {
+   elm_layout_signal_emit(obj, "elm,key,action,activate", "elm");
    _activate(obj);
    return EINA_TRUE;
 }
index cf3baf4a58fd6b6f9466c5a43c596db5608deea9..e35a78bc2388c6c469756cb6ded91be7a64b4c13 100644 (file)
@@ -7636,6 +7636,7 @@ _textblock_node_format_to_atspi_text_attr(const Evas_Object_Textblock_Node_Forma
 static Eina_Bool
 _action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
 {
+   elm_layout_signal_emit(obj, "elm,key,action,activate", "elm");
    _activate(obj);
    return EINA_TRUE;
 }
index 247a8ec01f205bbc3308daacd39bcdc0520d61a4..8e93c861a3836d2b08f4ae87b7f49647e880f79b 100644 (file)
@@ -195,6 +195,7 @@ _elm_radio_elm_container_content_set(Eo *obj, Elm_Radio_Data *_pd EINA_UNUSED, c
 static Eina_Bool
 _key_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
 {
+   elm_layout_signal_emit(obj, "elm,key,action,activate", "elm");
    _activate(obj);
    return EINA_TRUE;
 }
index 1b5554aeac6d55b94dfa8d649ee751f535701b42..5e0ee079ec4a5abe8181ab0b539354e0922f8612 100644 (file)
@@ -2735,6 +2735,10 @@ _item_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
 {
    ELM_CTXPOPUP_ITEM_DATA_GET(obj, item);
 
+   edje_object_signal_emit
+      (VIEW(item), "elm,key,action,activate", "elm");
+   edje_object_message_signal_process(VIEW(item));
+
    if (item->wcb.org_func_cb)
      item->wcb.org_func_cb((void*)item->wcb.org_data, WIDGET(item), EO_OBJ(item));
    return EINA_TRUE;