browserui/browser/FavouritesSrc/BrowserFavouritesView.cpp
branchRCL_3
changeset 50 c9249d037530
parent 37 481242ead638
child 60 b149f0820e5a
--- a/browserui/browser/FavouritesSrc/BrowserFavouritesView.cpp	Wed Mar 31 21:35:49 2010 +0300
+++ b/browserui/browser/FavouritesSrc/BrowserFavouritesView.cpp	Wed Apr 14 16:00:33 2010 +0300
@@ -111,6 +111,7 @@
 //
 CBrowserFavouritesView::~CBrowserFavouritesView()
     {
+    delete iFavViewRefresh;
     delete iIncrementalOp;
     delete iContainer;
     delete iModel;
@@ -241,7 +242,8 @@
           iIsActivated( EFalse ),
           iLastSelection( 0 ),
           iUpdatePending( EFalse ),
-          iRefresh( ETrue )
+          iRefresh( ETrue ),
+          iFavViewRefresh(0)
     {
     }
 
@@ -506,6 +508,22 @@
         iContainer->Listbox()->SetStateL(*iSavedListboxState);
         }
     iIsActivated = ETrue;
+    
+    PERFLOG_STOPWATCH_START;
+    if(!iFavViewRefresh)
+         iFavViewRefresh  = CIdle::NewL( CActive::EPriorityIdle );
+    iFavViewRefresh ->Start( TCallBack( RefeshFavoriteListBox, this ) );
+    PERFLOG_STOP_WRITE("\t Favourite view NewL");
+    }
+
+
+TInt CBrowserFavouritesView::RefeshFavoriteListBox(TAny* aFavouritesView)
+    {
+   __ASSERT_DEBUG(aFavouritesView, Util::Panic( Util::EUninitializedData ));
+   TRAP_IGNORE(
+                ((CBrowserFavouritesView*)aFavouritesView)->RefreshL();
+                );
+    return KErrNone;
     }
 
 // ----------------------------------------------------------------------------
@@ -529,6 +547,12 @@
     {
     iIsActivated = EFalse;
     TRAP_IGNORE(ApiProvider().StopProgressAnimationL());
+    
+    if(iFavViewRefresh)
+        {
+        iFavViewRefresh->Cancel();
+        }
+    
     if ( iContainer )
         {
         iLastSelection = iContainer->Listbox()->CurrentItemIndex();
@@ -1107,6 +1131,7 @@
 
         iCurrentFolder = aFolder;
         FillListboxL( aFolder, /*aKeepState=*/EFalse );
+                
         Container()->Listbox()->ClearSelection();
         UpdateCbaL();
         UpdateNaviPaneL();
@@ -1278,7 +1303,6 @@
     iContainer->HandleCursorChangedL( listbox );
     listbox->View()->SetDisableRedraw( redrawDisabled );
     listbox->DrawNow();
-
     UpdateCbaL();
     UpdateNaviPaneL();
     }