[Cherry-pick] Added navigation notification for the first page in Naviframe. 92/82692/2
authorYevgeniy Kolomiets <y.kolomiets@samsung.com>
Thu, 4 Aug 2016 12:10:13 +0000 (15:10 +0300)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Fri, 5 Aug 2016 09:48:18 +0000 (02:48 -0700)
Change-Id: I26ada623b0f145162d643571d358e943172d65c8
Signed-off-by: Yevgeniy Kolomiets <y.kolomiets@samsung.com>
lib-apps-common/inc/Ui/Naviframe.h
lib-apps-common/src/Ui/Naviframe.cpp

index 38dbaa3..3c76e3c 100644 (file)
@@ -44,6 +44,7 @@ namespace Ui
 
                Eina_Bool onItemPop(Elm_Object_Item *item);
                void onTransition(Evas_Object *obj, void *eventInfo);
+               void onFirstPagePushed();
                virtual bool onBackPressed() override;
        };
 }
index a0784d2..0f2204d 100644 (file)
@@ -48,6 +48,10 @@ NaviframePage *Naviframe::attachView(View *view)
 {
        notifyNavigation(getCurrentPage(), false);
 
+       if (!elm_naviframe_top_item_get(getEvasObject())) {
+               ecore_job_add(makeCallback(&Naviframe::onFirstPagePushed), this);
+       }
+
        Elm_Object_Item *naviItem = elm_naviframe_item_push(getEvasObject(), nullptr,
                        nullptr, nullptr, view->create(getEvasObject()), nullptr);
        elm_naviframe_item_pop_cb_set(naviItem, makeCallback(&Naviframe::onItemPop), this);
@@ -84,6 +88,13 @@ void Naviframe::onTransition(Evas_Object *obj, void *eventInfo)
        notifyNavigation(getCurrentPage(), true);
 }
 
+void Naviframe::onFirstPagePushed()
+{
+       Elm_Object_Item *item = elm_naviframe_top_item_get(getEvasObject());
+       auto page = (NaviframePage *) elm_object_item_data_get(item);
+       notifyNavigation(page, true);
+}
+
 bool Naviframe::onBackPressed()
 {
        if (!Navigator::onBackPressed()) {