atspi: Orca is able to read slider value changes

Reviewers: stanluk

Differential Revision: https://phab.enlightenment.org/D1012
This commit is contained in:
Zbigniew Kosinski 2014-07-18 11:47:48 +02:00 committed by Lukasz Stanislawski
parent 1db0e58c31
commit 9c3547f270
3 changed files with 14 additions and 6 deletions

View File

@ -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);

View File

@ -287,6 +287,12 @@ void elm_atspi_attributes_list_free(Eina_List *list);
#define elm_interface_atspi_accessible_role_changed_signal_emit(obj) \
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.
*/

View File

@ -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);
}