X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmobile_lib%2Felm_genlist.c;h=3738a4619dfaca259ddeae0d4a5d36624cca6c4f;hb=ce59f7bc47f15e95b0661ce9dd044fb5db368383;hp=49f3aa2424d4543fb302cf82ef2e75414cb199b5;hpb=863056f9278ca95a9c1bf38165dfd3355972bced;p=platform%2Fupstream%2Felementary.git diff --git a/src/mobile_lib/elm_genlist.c b/src/mobile_lib/elm_genlist.c index 49f3aa2..3738a46 100644 --- a/src/mobile_lib/elm_genlist.c +++ b/src/mobile_lib/elm_genlist.c @@ -9186,6 +9186,8 @@ _elm_genlist_elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Genlist_Data hy = hy - 1; // int viewport_position_result = _is_item_in_viewport(obj_y, h, hy, hh); + Eina_Bool traverse_direction = viewport_position_result > 0; + //only highlight if move direction is correct //sometimes highlighted item is brought in and it does not fit viewport //however content goes to the viewport position so soon it will @@ -9197,7 +9199,6 @@ _elm_genlist_elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Genlist_Data Eina_List *realized_items = elm_genlist_realized_items_get(obj); Eo *item; Eina_List *l; - Eina_Bool traverse_direction = viewport_position_result > 0; l = traverse_direction ? realized_items: eina_list_last(realized_items); while(l) @@ -9219,8 +9220,15 @@ _elm_genlist_elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Genlist_Data } if (next_previous_item) { - elm_object_accessibility_highlight_set(EO_OBJ(next_previous_item), EINA_TRUE); - elm_interface_atspi_accessible_state_changed_signal_emit(EO_OBJ(next_previous_item), ELM_ATSPI_STATE_HIGHLIGHTED, EINA_TRUE); + eo_do(highlighted_obj, elm_interface_atspi_component_highlight_clear()); + if (traverse_direction) + { + elm_interface_atspi_accessible_move_outed_signal_emit(EO_OBJ(next_previous_item), ELM_ATSPI_MOVE_OUTED_TOP_LEFT); + } + else + { + elm_interface_atspi_accessible_move_outed_signal_emit(EO_OBJ(next_previous_item), ELM_ATSPI_MOVE_OUTED_BOTTOM_RIGHT); + } } } // TIZEN_ONLY(20180326) : Atspi: enhance finding next and prev item on screen's edge