diff options
author | JunsuChoi <jsuya.choi@samsung.com> | 2019-12-06 10:30:34 +0900 |
---|---|---|
committer | Hermet Park <hermetpark@gmail.com> | 2019-12-06 10:30:34 +0900 |
commit | c86f77ff6e700d96f7ba3634ba6c1116c1dc1941 (patch) | |
tree | 665466ab76ef40809c5db1ecd3f55dfce5bd8970 | |
parent | 6e49a94c0e20a22866550c5f187cdd6ec32642f8 (diff) | |
download | efl-c86f77ff6e700d96f7ba3634ba6c1116c1dc1941.tar.gz |
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
-rw-r--r-- | src/lib/elementary/elm_label.c | 18 | ||||
-rw-r--r-- | src/lib/elementary/elm_label_eo.c | 2 |
2 files changed, 20 insertions, 0 deletions
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; |