diff --git a/legacy/elementary/src/lib/elm_atspi_bridge.c b/legacy/elementary/src/lib/elm_atspi_bridge.c index 289f3af96c..6070ebf745 100644 --- a/legacy/elementary/src/lib/elm_atspi_bridge.c +++ b/legacy/elementary/src/lib/elm_atspi_bridge.c @@ -2900,11 +2900,13 @@ _set_broadcast_flag(const char *event, Eo *bridge) if (!tokens[2] || *tokens[2] == '\0') pd->object_state_broadcast_mask = -1; // broadcast all else if (!strcmp(tokens[2], "Focused")) - STATE_TYPE_SET(pd->object_state_broadcast_mask, ATSPI_STATE_FOCUSED); + STATE_TYPE_SET(pd->object_state_broadcast_mask, ELM_ATSPI_STATE_FOCUSED); else if (!strcmp(tokens[2], "Showing")) - STATE_TYPE_SET(pd->object_state_broadcast_mask, ATSPI_STATE_SHOWING); + STATE_TYPE_SET(pd->object_state_broadcast_mask, ELM_ATSPI_STATE_SHOWING); else if (!strcmp(tokens[2], "Checked")) - STATE_TYPE_SET(pd->object_state_broadcast_mask, ATSPI_STATE_CHECKED); + STATE_TYPE_SET(pd->object_state_broadcast_mask, ELM_ATSPI_STATE_CHECKED); + else if (!strcmp(tokens[2], "Expanded")) + STATE_TYPE_SET(pd->object_state_broadcast_mask, ELM_ATSPI_STATE_EXPANDED); } else if (!strcmp(tokens[1], "PropertyChange")) { @@ -3048,6 +3050,9 @@ _state_changed_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_Descr case ELM_ATSPI_STATE_CHECKED: type_desc = "checked"; break; + case ELM_ATSPI_STATE_EXPANDED: + type_desc = "expanded"; + break; default: return EINA_FALSE; } diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index e6125327bc..e332bce026 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -6711,6 +6711,8 @@ _elm_genlist_item_expanded_set(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it, Eina_B edje_object_signal_emit(VIEW(it), SIGNAL_EXPANDED, "elm"); evas_object_smart_callback_call(WIDGET(it), SIG_EXPANDED, EO_OBJ(it)); sd->auto_scroll_enabled = EINA_TRUE; + if (_elm_config->atspi_mode) + elm_interface_atspi_accessible_state_changed_signal_emit(eo_item, ELM_ATSPI_STATE_EXPANDED, EINA_TRUE); } else { @@ -6719,6 +6721,8 @@ _elm_genlist_item_expanded_set(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it, Eina_B edje_object_signal_emit(VIEW(it), SIGNAL_CONTRACTED, "elm"); evas_object_smart_callback_call(WIDGET(it), SIG_CONTRACTED, EO_OBJ(it)); sd->auto_scroll_enabled = EINA_FALSE; + if (_elm_config->atspi_mode) + elm_interface_atspi_accessible_state_changed_signal_emit(eo_item, ELM_ATSPI_STATE_EXPANDED, EINA_FALSE); } } @@ -7742,6 +7746,13 @@ _elm_genlist_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_Ge if (sel) STATE_TYPE_SET(ret, ELM_ATSPI_STATE_SELECTED); + if (elm_genlist_item_type_get(eo_it) == ELM_GENLIST_ITEM_TREE) + { + STATE_TYPE_SET(ret, ELM_ATSPI_STATE_EXPANDABLE); + if (elm_genlist_item_expanded_get(eo_it)) + STATE_TYPE_SET(ret, ELM_ATSPI_STATE_EXPANDED); + } + return ret; }