Enable hoversel highlight, add its trait
authorAgnieszka Janowicz <a.janowicz@samsung.com>
Wed, 1 Jul 2015 11:48:31 +0000 (13:48 +0200)
committerTomasz Olszak <t.olszak@samsung.com>
Thu, 2 Jul 2015 09:25:21 +0000 (18:25 +0900)
Change-Id: Ib3148be20702405531e50f39f41e0b7cf5498fed
Signed-off-by: Agnieszka Janowicz <a.janowicz@samsung.com>
src/flat_navi.c
src/navigator.c

index 4dbc87f..3d54a6d 100644 (file)
@@ -30,6 +30,7 @@ static const AtspiRole interesting_roles[] =
    ATSPI_ROLE_FILE_CHOOSER,
    ATSPI_ROLE_FILLER,
    ATSPI_ROLE_FONT_CHOOSER,
+   ATSPI_ROLE_GLASS_PANE,
    ATSPI_ROLE_HEADER,
    ATSPI_ROLE_HEADING,
    ATSPI_ROLE_ICON,
index bad1fdd..ae7b3d8 100644 (file)
 
 #define DISTANCE_NB 8
 #define MENU_ITEM_TAB_INDEX_SIZE 16
+#define HOVERSEL_TRAIT_SIZE 70
 #define TTS_MAX_TEXT_SIZE  2000
 
+#define HOVERSEL_TRAIT "Dropdown list. Showing %d items. Double tap to open the menu."
 #define GROUP_INDEX_TRAIT "group index"
 #define MENU_ITEM_TAB_INDEX "Tab %d of %d"
 #define GROUP_INDEX_EXPANDED "Expandable list, Double tap to collapse"
@@ -272,6 +274,14 @@ generate_trait(AtspiAccessible *obj)
          snprintf(tab_index, MENU_ITEM_TAB_INDEX_SIZE, MENU_ITEM_TAB_INDEX, index+1, children_count);
          strncat(ret, tab_index, sizeof(ret) - strlen(ret) - 1);
       }
+   else if (role == ATSPI_ROLE_GLASS_PANE)
+      {
+         AtspiAccessible *parent = atspi_accessible_get_parent(obj, NULL);
+         int children_count = atspi_accessible_get_child_count(parent, NULL);
+         char trait[HOVERSEL_TRAIT_SIZE];
+         snprintf(trait, HOVERSEL_TRAIT_SIZE, HOVERSEL_TRAIT, children_count);
+         strncat(ret, trait, sizeof(ret) - strlen(ret) - 1);
+      }
    else if (role == ATSPI_ROLE_LIST_ITEM && atspi_state_set_contains(state_set, ATSPI_STATE_EXPANDABLE))
       {
          strncat(ret, GROUP_INDEX_TRAIT, sizeof(ret) - strlen(ret) - 1);