diff options
author | Sungtaek Hong <sth253.hong@samsung.com> | 2017-01-02 15:41:20 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-01-02 15:41:21 +0900 |
commit | 5a9c6d393aeda99d2691953dc978ec8b5f905fa7 (patch) | |
tree | d4bbc0faade54a598a5e5922cf0d318b319ff232 | |
parent | 40e9da0101e2c9afb6f823c7b21c02a011cc5300 (diff) | |
download | efl-5a9c6d393aeda99d2691953dc978ec8b5f905fa7.tar.gz |
elm_naviframe: resize previous view before item pop transition.
Summary:
- In commit rEFL9f5e9ec7ca120242a92ac97fb20016263c152d8e
previous view is raised after item pop transition
so that current view's pop animation can be shown.
- But, previous view has to be in it's proper size
during transition because some of animation might
show previous view.
Reviewers: Jaehyun_Cho
Subscribers: cedric, conr2d, jpeg
Differential Revision: https://phab.enlightenment.org/D4535
-rw-r--r-- | src/lib/elementary/elc_naviframe.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c index c8bce97d49..0cf45b5976 100644 --- a/src/lib/elementary/elc_naviframe.c +++ b/src/lib/elementary/elc_naviframe.c @@ -1132,15 +1132,16 @@ _on_item_pop_finished(void *data, const char *source EINA_UNUSED) { Elm_Naviframe_Item_Data *it = data; - Elm_Naviframe_Item_Data *prev_it = NULL; + Elm_Object_Item *eo_prev_it = NULL; ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd); - if (sd->stack && sd->stack->last) + eo_prev_it = elm_naviframe_top_item_get(WIDGET(it)); + if (eo_prev_it) { - prev_it = EINA_INLIST_CONTAINER_GET - (sd->stack->last, Elm_Naviframe_Item_Data); - _resize_object_reset(WIDGET(it), prev_it); + ELM_NAVIFRAME_ITEM_DATA_GET(eo_prev_it, prev_it); + + evas_object_raise(VIEW(prev_it)); } if (sd->preserve) @@ -1813,6 +1814,8 @@ _elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *sd) evas_object_freeze_events_set(VIEW(prev_it), EINA_TRUE); } + elm_widget_resize_object_set(obj, VIEW(prev_it), EINA_FALSE); + /* these 2 signals MUST take place simultaneously */ elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm"); elm_object_signal_emit(VIEW(prev_it), "elm,state,prev,popped", "elm"); |