[Screen-Reader] Made changes for genlist drag and drop as per UX v0.2 77/70777/3 accepted/tizen/common/20160524.150753 accepted/tizen/ivi/20160525.003356 accepted/tizen/mobile/20160525.003341 accepted/tizen/tv/20160525.003358 accepted/tizen/wearable/20160525.003343 submit/tizen/20160524.083505
authorPrasoon Singh <prasoon.16@samsung.com>
Fri, 20 May 2016 12:03:58 +0000 (17:33 +0530)
committerPrasoon Singh <prasoon.16@samsung.com>
Fri, 20 May 2016 12:08:32 +0000 (17:38 +0530)
Change-Id: Ia74e90ba2befb5ed4c5056ffcc605e7c197e7de8

res/po/en_US.po
src/app_tracker.c
src/navigator.c

index 8ed3fb126bacdddef16e14738858e387e69a0fb6..29dc8aec1e2893520435eebb6046fb2f0e94b7c6 100644 (file)
@@ -240,3 +240,12 @@ msgstr "%d selected in total"
 
 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
index 7e543177c2907c4dbbde52a95efd349bcfe0f078..c2c091535898b65dceedf9b7ecb181136699f708 100644 (file)
@@ -190,6 +190,18 @@ static void _on_atspi_event_cb(const AtspiEvent * event)
        }
        //
 
+       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"))
@@ -240,6 +252,7 @@ static int _app_tracker_init_internal(void)
        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);
@@ -267,6 +280,7 @@ static void _app_tracker_shutdown_internal(void)
        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);
index ff6634e38bb6af10a9442bcbc6f6239c26048ff8..11ed11720d4b5f8ab1ca5f7ed709a2e4cb62725a 100644 (file)
@@ -541,7 +541,7 @@ char *generate_trait(AtspiAccessible * obj)
        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);
@@ -582,6 +582,10 @@ char *generate_trait(AtspiAccessible * 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;
        }