stanluk pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=17515f2be90e9289f418a50ddfc3ce4186498d64

commit 17515f2be90e9289f418a50ddfc3ce4186498d64
Author: Zbigniew Kosinski <[email protected]>
Date:   Fri Jul 18 11:47:48 2014 +0200

    atspi: Orca is able to read slider value changes
    
    Reviewers: stanluk
    
    Differential Revision: https://phab.enlightenment.org/D1012
---
 src/lib/elm_atspi_bridge.c               | 13 +++++++------
 src/lib/elm_interface_atspi_accessible.h |  6 ++++++
 src/lib/elm_slider.c                     |  1 +
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index b26d54f..66d63eb 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
 {
    Eldbus_Service_Interface *events = data;
    const char *property = event_info;
-   char *path, *atspi_desc;
+   char *atspi_desc;
    enum _Atspi_Object_Property prop = ATSPI_OBJECT_PROPERTY_LAST;
 
    if (!events)
@@ -2752,7 +2752,11 @@ _property_changed_signal_send(void *data, Eo *obj 
EINA_UNUSED, const Eo_Event_De
         prop = ATSPI_OBJECT_PROPERTY_PARENT;
         atspi_desc = "accessible-role";
      }
-
+   else if (!strcmp(property, "value"))
+     {
+        prop = ATSPI_OBJECT_PROPERTY_VALUE;
+        atspi_desc = "accessible-value";
+     }
    if (prop == ATSPI_OBJECT_PROPERTY_LAST)
      {
         ERR("Unrecognized property name!");
@@ -2764,10 +2768,7 @@ _property_changed_signal_send(void *data, Eo *obj 
EINA_UNUSED, const Eo_Event_De
         return EINA_FALSE;
      }
 
-   path = _path_from_access_object(obj);
-
-   _object_signal_send(events, ATSPI_OBJECT_EVENT_PROPERTY_CHANGED, 
atspi_desc, 0, 0, "s", path);
-   free(path);
+   _object_signal_send(events, ATSPI_OBJECT_EVENT_PROPERTY_CHANGED, 
atspi_desc, 0, 0, NULL, NULL);
 
    DBG("signal sent PropertyChanged:%s", property);
 
diff --git a/src/lib/elm_interface_atspi_accessible.h 
b/src/lib/elm_interface_atspi_accessible.h
index 6dc6290..0cfdaa7 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);
    eo_do(obj, 
eo_event_callback_call(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_PROPERTY_CHANGED, 
"role"));
 
 /**
+ * Emits ATSPI 'PropertyChanged' dbus signal for 'Value' property.
+ */
+#define elm_interface_atspi_accessible_value_changed_signal_emit(obj) \
+   eo_do(obj, 
eo_event_callback_call(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_PROPERTY_CHANGED, 
"value"));
+
+/**
  * Emits ATSPI 'ChildrenChanged' dbus signal with added child as argument.
  */
 #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 d3ea968..64d4e1d 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)
         if (user_event)
           {
              evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
+             elm_interface_atspi_accessible_value_changed_signal_emit(obj);
              ecore_timer_del(sd->delay);
              sd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, 
_delay_change, obj);
           }

-- 


Reply via email to