Fix refresh bug.
[profile/tv/apps/native/filebrowser.git] / src / layouts / FbAllLayout.cpp
index 0db2b59..3b6d31e 100644 (file)
@@ -21,6 +21,8 @@ struct SFbAllLayout {
 
        CLayoutMgr *pLayoutMgr;
        CViewMgr   *pViewMgr;
+
+       bool       updateFlag;
 };
 
 
@@ -93,6 +95,7 @@ bool CFbAllLayout::t_CreateFileGrid(Evas_Object *layout)
        cb.cbLinkApp = sm_CbLinkApp;
        cb.cookie = m->eoBase;
        if (!m->pFileGrid->Create(m->eoWin, layout, &cb)) {
+               _DBG("Fail to create FileGrid");
                delete m->pFileGrid;
                m->pFileGrid = NULL;
                return false;
@@ -114,18 +117,11 @@ void CFbAllLayout::t_DestroyFileGrid(void)
 
 void CFbAllLayout::t_OnShow(void)
 {
-       _DBG();
-
-       m->pFileGrid->Update(false);
-//     CBaseLayout::t_OnShow();
-       return;
-}
-
-
-void CFbAllLayout::t_OnHide(void)
-{
-//     CBaseLayout::t_OnHide();
-       return;
+       elm_object_part_content_unset(m->eoBase, FBR_PART_CONTENT);
+       elm_object_part_content_set(m->eoBase, FBR_PART_CONTENT, Layout()); 
+       m->pFileGrid->Update(m->updateFlag);
+       m->updateFlag = false; // set default
+       CBaseLayout::t_OnShow();
 }
 
 
@@ -133,8 +129,8 @@ bool CFbAllLayout::Create(CLayoutMgr *mgr, void *data)
 {
        ASSERT(!m);
        ASSERT(mgr);
-       
-       Evas_Object *layout = NULL;
+
+       Evas_Objectlayout = NULL;
 
        _CREATE_BEGIN{
                _CHECK(m = new SFbAllLayout)
@@ -145,7 +141,11 @@ bool CFbAllLayout::Create(CLayoutMgr *mgr, void *data)
                _CHECK(layout = elm_layout_add(m->eoBase))
                _CHECK(elm_layout_file_set(layout, EDJEFILE, FB_ALL_LAYOUT))
                _CHECK(t_CreateFileGrid(layout))
-               _COMMAND{ elm_object_part_content_set(m->eoBase, FBR_PART_CONTENT, layout); }
+               _COMMAND{ 
+                       m->updateFlag = false;
+                       elm_object_part_content_unset(m->eoBase, FBR_PART_CONTENT);
+                       elm_object_part_content_set(m->eoBase, FBR_PART_CONTENT, layout); 
+               }
                _CHECK(CBaseLayout::Create(layout))
 
                _WHEN_SUCCESS{}
@@ -176,16 +176,7 @@ void CFbAllLayout::Destroy(void)
 }
 
 
-void CFbAllLayout::Update(bool flag)
-{
-       ASSERT(m);
-       _DBG();
-
-       m->pFileGrid->Update(flag);
-}
-
-
-void CFbAllLayout::SetFocus(Eina_Bool flag)
+void CFbAllLayout::SetFocus(bool flag)
 {
        ASSERT(m);
        _DBG();
@@ -194,17 +185,17 @@ void CFbAllLayout::SetFocus(Eina_Bool flag)
 }
 
 
-Evas_Object* CFbAllLayout::Grid(void)
+void CFbAllLayout::Action(void)
 {
        ASSERT(m);
        
-       return m->pFileGrid->Grid();
+       return m->pFileGrid->Action();
 }
 
 
-void CFbAllLayout::Action(void)
+void CFbAllLayout::SetUpdateFlag(bool flag)
 {
        ASSERT(m);
-       
-       return m->pFileGrid->Action();
+
+       m->updateFlag = flag;
 }