--- 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();
}