hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c86f77ff6e700d96f7ba3634ba6c1116c1dc1941

commit c86f77ff6e700d96f7ba3634ba6c1116c1dc1941
Author: JunsuChoi <[email protected]>
Date:   Fri Dec 6 10:30:34 2019 +0900

    elm_label: Emit click signal on acivate action on label
    
    Summary: In accessibility enabled case click signal of legacy label is not 
triggered.
    
    Test Plan: N/A
    
    Reviewers: Hermet, kimcinoo
    
    Reviewed By: Hermet
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D10803
---
 src/lib/elementary/elm_label.c    | 18 ++++++++++++++++++
 src/lib/elementary/elm_label_eo.c |  2 ++
 2 files changed, 20 insertions(+)

diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 3d3e2a6af4..2279955f01 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -5,6 +5,7 @@
 #define EFL_ACCESS_OBJECT_PROTECTED
 #define ELM_LAYOUT_PROTECTED
 #define EFL_PART_PROTECTED
+#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
 
 #include <Elementary.h>
 
@@ -28,6 +29,13 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
    {NULL, NULL}
 };
 
+static Eina_Bool
+_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
+{
+   efl_event_callback_legacy_call(obj, EFL_INPUT_EVENT_CLICKED, NULL);
+   return EINA_TRUE;
+}
+
 static void
 _recalc(void *data)
 {
@@ -416,6 +424,16 @@ elm_label_add(Evas_Object *parent)
    return elm_legacy_add(MY_CLASS, parent);
 }
 
+EOLIAN const Efl_Access_Action_Data *
+_elm_label_efl_access_widget_action_elm_actions_get(const Eo *obj EINA_UNUSED, 
Elm_Label_Data *pd EINA_UNUSED)
+{
+   static Efl_Access_Action_Data access_actions[] = {
+        { "activate", "activate", NULL, _action_activate },
+        { NULL, NULL, NULL, NULL },
+   };
+   return &access_actions[0];
+}
+
 EOLIAN static Eo *
 _elm_label_efl_object_constructor(Eo *obj, Elm_Label_Data *_pd EINA_UNUSED)
 {
diff --git a/src/lib/elementary/elm_label_eo.c 
b/src/lib/elementary/elm_label_eo.c
index 0ec366bad0..de24d9b94f 100644
--- a/src/lib/elementary/elm_label_eo.c
+++ b/src/lib/elementary/elm_label_eo.c
@@ -157,6 +157,7 @@ Eina_Error _elm_label_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Label_Data *pd);
 
 Efl_Object *_elm_label_efl_part_part_get(const Eo *obj, Elm_Label_Data *pd, 
const char *name);
 
+const Efl_Access_Action_Data 
*_elm_label_efl_access_widget_action_elm_actions_get(const Eo *obj, 
Elm_Label_Data *pd);
 
 static Eina_Bool
 _elm_label_class_initializer(Efl_Class *klass)
@@ -186,6 +187,7 @@ _elm_label_class_initializer(Efl_Class *klass)
       EFL_OBJECT_OP_FUNC(efl_constructor, _elm_label_efl_object_constructor),
       EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, 
_elm_label_efl_ui_widget_theme_apply),
       EFL_OBJECT_OP_FUNC(efl_part_get, _elm_label_efl_part_part_get),
+      EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, 
_elm_label_efl_access_widget_action_elm_actions_get),
       ELM_LABEL_EXTRA_OPS
    );
    opsp = &ops;

-- 


Reply via email to