msgid "IDS_TRAIT_ITEM_SELECT"
msgstr "Double tap to select"
+
+msgid "IDS_TRAIT_REORDER_ITEM_SELECT"
+msgstr "Reorder, Button, Double tap and hold, then drag to reorder"
+
+msgid "IDS_TRAIT_REORDER_DRAG_START"
+msgstr "Started dragging item at position %d"
+
+msgid "IDS_TRAIT_REORDER_DRAG_STOP"
+msgstr "Item dropped into position %d"
\ No newline at end of file
}
//
+ if (!strcmp(event->type, "object:state-changed:animated") && (atspi_accessible_get_role(event->source, NULL) == ATSPI_ROLE_LIST_ITEM)) {
+ GError *err = NULL;
+ char buf[256] = "\0";
+ gint idx = atspi_accessible_get_index_in_parent(event->source, &err);
+ if (event->detail1)
+ snprintf(buf, sizeof(buf), _("IDS_TRAIT_REORDER_DRAG_START"), idx + 1);
+ else
+ snprintf(buf, sizeof(buf), _("IDS_TRAIT_REORDER_DRAG_STOP"), idx + 1);
+ tts_speak(buf, EINA_TRUE);
+ g_error_free(err);
+ }
+
AtspiAccessible *new_highlighted_obj = NULL;
if (!strcmp(event->type, "object:state-changed:highlighted"))
atspi_event_listener_register(_listener, "object:state-changed:visible", NULL);
atspi_event_listener_register(_listener, "object:state-changed:defunct", NULL);
atspi_event_listener_register(_listener, "object:state-changed:highlighted", NULL);
+ atspi_event_listener_register(_listener, "object:state-changed:animated", NULL);
atspi_event_listener_register(_listener, "object:bounds-changed", NULL);
atspi_event_listener_register(_listener, "object:visible-data-changed", NULL);
atspi_event_listener_register(_listener, "object:active-descendant-changed", NULL);
atspi_event_listener_deregister(_listener, "object:state-changed:showing", NULL);
atspi_event_listener_deregister(_listener, "object:state-changed:visible", NULL);
atspi_event_listener_deregister(_listener, "object:state-changed:highlighted", NULL);
+ atspi_event_listener_deregister(_listener, "object:state-changed:animated", NULL);
atspi_event_listener_deregister(_listener, "object:bounds-changed", NULL);
atspi_event_listener_deregister(_listener, "object:state-changed:defunct", NULL);
atspi_event_listener_deregister(_listener, "object:visible-data-changed", NULL);
case ATSPI_ROLE_LIST_ITEM: {
AtspiAccessible *parent = atspi_accessible_get_parent(obj, NULL);
AtspiRole parent_role = atspi_accessible_get_role(parent, NULL);
-
+ AtspiStateSet *parent_state_set = atspi_accessible_get_state_set(parent);
if(parent_role == ATSPI_ROLE_TREE_TABLE) {
AtspiStateSet *state_set = atspi_accessible_get_state_set(obj);
strncat(ret, _("IDS_TRAIT_GROUP_INDEX_COLLAPSED"), sizeof(ret) - strlen(ret) - 1);
}
}
+ else if (atspi_state_set_contains(parent_state_set, ATSPI_STATE_ANIMATED)) {
+ strncat(ret, _("IDS_TRAIT_REORDER_ITEM_SELECT"), sizeof(ret) - strlen(ret) - 1);
+ }
+ g_object_unref(parent_state_set);
g_object_unref(parent);
break;
}