diff -r 5c11946e75b3 -r c9249d037530 browserui/browser/FavouritesSrc/BrowserFavouritesView.cpp --- 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(); }