From: JunsuChoi Date: Tue, 16 Jan 2018 08:05:30 +0000 (+0900) Subject: Revert "Revert "[Accessibility]: Access frame going behind popup issue fix when popup... X-Git-Tag: submit/tizen_4.0/20180124.101838~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=66e7f32f76a937a92149d086c307bc03ff8c8061;p=platform%2Fupstream%2Felementary.git Revert "Revert "[Accessibility]: Access frame going behind popup issue fix when popup is created in transition,finished callback."" This reverts commit 6c4467a7ce20faed01530e224cb52f30e1feef28. Change-Id: I3abe687c48d3474fd4bcbe7ff814954441a58a55 --- diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index 5dc90b8a0..4e1ea72aa 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -687,6 +687,12 @@ _elm_naviframe_item_eo_base_destructor(Eo *eo_item, Elm_Naviframe_Item_Data *it) elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm"); // + //TIZEN_ONLY(20171019): add state_notify api + if (_elm_atspi_enabled()) + eo_do(VIEW(prev_it), elm_interface_atspi_accessible_state_notify( + ATSPI_STATE(ELM_ATSPI_STATE_SHOWING) | ATSPI_STATE(ELM_ATSPI_STATE_VISIBLE), EINA_TRUE)); + // + eo_do(WIDGET(prev_it), eo_event_callback_call(ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED, EO_OBJ(prev_it))); } @@ -1293,21 +1299,6 @@ _on_item_pop_finished(void *data, sd->popping = eina_list_remove(sd->popping, it); eo_do(EO_OBJ(it), elm_wdg_item_del()); - - //TIZEN_ONLY(20161122): add state_notify api - Eo *eo_top = elm_naviframe_top_item_get(widget); - if (eo_top) - { - ELM_NAVIFRAME_ITEM_DATA_GET(eo_top, top); - _elm_win_default_label_obj_append(VIEW(top)); - - if (_elm_atspi_enabled()) - { - eo_do(VIEW(top), elm_interface_atspi_accessible_state_notify( - ATSPI_STATE(ELM_ATSPI_STATE_SHOWING) | ATSPI_STATE(ELM_ATSPI_STATE_VISIBLE), EINA_TRUE)); - } - } - // } /* "elm,state,new,pushed", @@ -1340,16 +1331,23 @@ _on_item_show_finished(void *data, evas_object_freeze_events_set(VIEW(it), EINA_FALSE); it->pushing = EINA_FALSE; - - eo_do(WIDGET(it), eo_event_callback_call(ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED, EO_OBJ(it))); - + //TIZEN_ONLY(20161122): add state_notify api if (EO_OBJ(it) == elm_naviframe_top_item_get(WIDGET(it))) { - eo_do(WIDGET(it), eo_event_callback_call(ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED, EO_OBJ(it))); - //TIZEN_ONLY(20170919): Handle default label object _elm_win_default_label_obj_append(VIEW(it)); - // + + if (_elm_atspi_enabled()) + { + eo_do(VIEW(it), elm_interface_atspi_accessible_state_notify( + ATSPI_STATE(ELM_ATSPI_STATE_SHOWING) | ATSPI_STATE(ELM_ATSPI_STATE_VISIBLE), EINA_TRUE)); + } } + // + + eo_do(WIDGET(it), eo_event_callback_call(ELM_NAVIFRAME_EVENT_TRANSITION_FINISHED, EO_OBJ(it))); + + if (EO_OBJ(it) == elm_naviframe_top_item_get(WIDGET(it))) + eo_do(WIDGET(it), eo_event_callback_call(ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED, EO_OBJ(it))); } static void @@ -1900,10 +1898,10 @@ _item_push_helper(Elm_Naviframe_Item_Data *item) if (!top_item) { + //TIZEN_ONLY(20170919): Handle default label object + _elm_win_default_label_obj_append(VIEW(item)); + // eo_do(obj, eo_event_callback_call(ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED, EO_OBJ(item))); - //TIZEN_ONLY(20170919): Handle default label object - _elm_win_default_label_obj_append(VIEW(item)); - // } } @@ -2024,6 +2022,11 @@ _elm_naviframe_item_insert_after(Eo *obj, Elm_Naviframe_Data *sd, Elm_Object_Ite _resize_object_reset(obj, it); evas_object_show(VIEW(it)); evas_object_hide(VIEW(after)); + //TIZEN_ONLY(20171019): add state_notify api + if (_elm_atspi_enabled()) + eo_do(VIEW(after), elm_interface_atspi_accessible_state_notify( + ATSPI_STATE(ELM_ATSPI_STATE_SHOWING) | ATSPI_STATE(ELM_ATSPI_STATE_VISIBLE), EINA_TRUE)); + // if (elm_object_focus_allow_get(VIEW(it))) elm_object_focus_set(VIEW(it), EINA_TRUE); else @@ -2050,7 +2053,15 @@ _elm_naviframe_item_insert_after(Eo *obj, Elm_Naviframe_Data *sd, Elm_Object_Ite elm_layout_sizing_eval(obj); if (top_inserted) - eo_do(obj, eo_event_callback_call(ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED, eo_item)); + { + //TIZEN_ONLY(20171019): Handle default label object + _elm_win_default_label_obj_append(VIEW(it)); + if (_elm_atspi_enabled()) + eo_do(VIEW(it), elm_interface_atspi_accessible_state_notify( + ATSPI_STATE(ELM_ATSPI_STATE_SHOWING) | ATSPI_STATE(ELM_ATSPI_STATE_VISIBLE), EINA_TRUE)); + // + eo_do(obj, eo_event_callback_call(ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED, eo_item)); + } return eo_item; }