hermet pushed a commit to branch elementary-1.9. http://git.enlightenment.org/core/elementary.git/commit/?id=219722f92e05d7c464e2961384cfc625f4337980
commit 219722f92e05d7c464e2961384cfc625f4337980 Author: Jaehyun Cho <jae_hyun....@samsung.com> Date: Fri Mar 7 11:12:06 2014 +0900 naviframe: Fix smart_show function to show only top item view Summary: Now if evas_object_show is called for naviframe, all item views are shown. This may cause the previous item view is overlapped to the top item view. To resolve this problem, fix smart_show of naviframe to show only top item view. @fix Reviewers: Hermet CC: seoz Differential Revision: https://phab.enlightenment.org/D594 --- src/lib/elc_naviframe.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index a9a453e..e39e2f9 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -1406,6 +1406,17 @@ _elm_naviframe_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) eo_do_super(obj, MY_CLASS, evas_obj_smart_del()); } +//Show only the top item view +static void +_elm_naviframe_smart_show(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) +{ + Elm_Naviframe_Item *top; + + top = (Elm_Naviframe_Item *)elm_naviframe_top_item_get(obj); + if (top && !top->delete_me) + evas_object_show(VIEW(top)); +} + static void _elm_naviframe_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list) { @@ -2133,6 +2144,7 @@ _class_constructor(Eo_Class *klass) EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_ADD), _elm_naviframe_smart_add), EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _elm_naviframe_smart_del), + EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_SHOW), _elm_naviframe_smart_show), EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_naviframe_smart_focus_next_manager_is), EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT), _elm_naviframe_smart_focus_next), --