summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Kosinski <z.kosinski@samsung.com>2014-07-18 11:47:48 +0200
committerLukasz Stanislawski <l.stanislaws@samsung.com>2014-07-18 11:47:48 +0200
commit17515f2be90e9289f418a50ddfc3ce4186498d64 (patch)
tree3f0a664e77423acdde935e0d5a178d5f3501ee35
parenta911794e1a48336a4c6b1d596e3a391dd04090e0 (diff)
atspi: Orca is able to read slider value changes
Reviewers: stanluk Differential Revision: https://phab.enlightenment.org/D1012
-rw-r--r--src/lib/elm_atspi_bridge.c13
-rw-r--r--src/lib/elm_interface_atspi_accessible.h6
-rw-r--r--src/lib/elm_slider.c1
3 files changed, 14 insertions, 6 deletions
diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index b26d54f51..66d63ebb6 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -2723,7 +2723,7 @@ _property_changed_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_De
2723{ 2723{
2724 Eldbus_Service_Interface *events = data; 2724 Eldbus_Service_Interface *events = data;
2725 const char *property = event_info; 2725 const char *property = event_info;
2726 char *path, *atspi_desc; 2726 char *atspi_desc;
2727 enum _Atspi_Object_Property prop = ATSPI_OBJECT_PROPERTY_LAST; 2727 enum _Atspi_Object_Property prop = ATSPI_OBJECT_PROPERTY_LAST;
2728 2728
2729 if (!events) 2729 if (!events)
@@ -2752,7 +2752,11 @@ _property_changed_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_De
2752 prop = ATSPI_OBJECT_PROPERTY_PARENT; 2752 prop = ATSPI_OBJECT_PROPERTY_PARENT;
2753 atspi_desc = "accessible-role"; 2753 atspi_desc = "accessible-role";
2754 } 2754 }
2755 2755 else if (!strcmp(property, "value"))
2756 {
2757 prop = ATSPI_OBJECT_PROPERTY_VALUE;
2758 atspi_desc = "accessible-value";
2759 }
2756 if (prop == ATSPI_OBJECT_PROPERTY_LAST) 2760 if (prop == ATSPI_OBJECT_PROPERTY_LAST)
2757 { 2761 {
2758 ERR("Unrecognized property name!"); 2762 ERR("Unrecognized property name!");
@@ -2764,10 +2768,7 @@ _property_changed_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_De
2764 return EINA_FALSE; 2768 return EINA_FALSE;
2765 } 2769 }
2766 2770
2767 path = _path_from_access_object(obj); 2771 _object_signal_send(events, ATSPI_OBJECT_EVENT_PROPERTY_CHANGED, atspi_desc, 0, 0, NULL, NULL);
2768
2769 _object_signal_send(events, ATSPI_OBJECT_EVENT_PROPERTY_CHANGED, atspi_desc, 0, 0, "s", path);
2770 free(path);
2771 2772
2772 DBG("signal sent PropertyChanged:%s", property); 2773 DBG("signal sent PropertyChanged:%s", property);
2773 2774
diff --git a/src/lib/elm_interface_atspi_accessible.h b/src/lib/elm_interface_atspi_accessible.h
index 6dc62904d..0cfdaa7e1 100644
--- a/src/lib/elm_interface_atspi_accessible.h
+++ b/src/lib/elm_interface_atspi_accessible.h
@@ -288,6 +288,12 @@ void elm_atspi_attributes_list_free(Eina_List *list);
288 eo_do(obj, eo_event_callback_call(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_PROPERTY_CHANGED, "role")); 288 eo_do(obj, eo_event_callback_call(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_PROPERTY_CHANGED, "role"));
289 289
290/** 290/**
291 * Emits ATSPI 'PropertyChanged' dbus signal for 'Value' property.
292 */
293#define elm_interface_atspi_accessible_value_changed_signal_emit(obj) \
294 eo_do(obj, eo_event_callback_call(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_PROPERTY_CHANGED, "value"));
295
296/**
291 * Emits ATSPI 'ChildrenChanged' dbus signal with added child as argument. 297 * Emits ATSPI 'ChildrenChanged' dbus signal with added child as argument.
292 */ 298 */
293#define elm_interface_atspi_accessible_children_changed_added_signal_emit(obj, child) \ 299#define elm_interface_atspi_accessible_children_changed_added_signal_emit(obj, child) \
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c
index d3ea968af..64d4e1d08 100644
--- a/src/lib/elm_slider.c
+++ b/src/lib/elm_slider.c
@@ -98,6 +98,7 @@ _val_fetch(Evas_Object *obj, Eina_Bool user_event)
98 if (user_event) 98 if (user_event)
99 { 99 {
100 evas_object_smart_callback_call(obj, SIG_CHANGED, NULL); 100 evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
101 elm_interface_atspi_accessible_value_changed_signal_emit(obj);
101 ecore_timer_del(sd->delay); 102 ecore_timer_del(sd->delay);
102 sd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, _delay_change, obj); 103 sd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, _delay_change, obj);
103 } 104 }