browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp
branchRCL_3
changeset 43 b149f0820e5a
parent 39 08ffbd51e3fd
child 45 5a044f6358c2
--- a/browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp	Wed Jun 09 09:45:02 2010 +0300
+++ b/browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp	Mon Jun 21 15:43:41 2010 +0300
@@ -125,7 +125,7 @@
     delete iItemsToMove;
     delete iCurrentOrder;
     delete iEnteredURL;
-    iEnteredURL = NULL;
+    delete iAsyncComplete;
 BROWSER_LOG( ( _L("delete iEnteredUrl 1") ) );
     iCursorPos = -1;
     }
@@ -930,7 +930,8 @@
         aRsk.setPair(EBrowserBookmarksCmdBack, R_BROWSER_BOOKMARKS_DYN_SK_TEXT_SOFTKEY_BACK);
 
         // OR, it could be exit under these conditions
-        if ( !iInAdaptiveBookmarksFolder && !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching() )
+        if ( !ApiProvider().StartedUp() ||
+             (!iInAdaptiveBookmarksFolder && !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching())  )
             {
             if ( iCurrentFolder == KFavouritesRootUid )
                 {
@@ -1125,6 +1126,7 @@
     //Make it true so that latest FavIcon db info is shown     
     iRefresh = ETrue;
 
+#ifndef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
     Toolbar()->HideItem( EWmlCmdAddBookmark, ETrue , EFalse);
     
     //disable both the goto items and activate one of them depending on availability of search feature during bookmarks activation 
@@ -1139,6 +1141,7 @@
     
     Cba()->MakeVisible( EFalse);
     StatusPane()->MakeVisible( EFalse );
+#endif
     
     if (iPenEnabled)
         {
@@ -1175,6 +1178,10 @@
                     }
                 else if ( Container()->Listbox()->CurrentItem() )
                     {
+                    //complete remaining startup in Browser and then proceed
+                    if ( !ApiProvider().StartedUp() )
+                        ApiProvider().CompleteDelayedInit();
+                    
                     if ( Container()->Listbox()->CurrentItem()->IsItem())
                         {
                         ActivateCurrentBookmarkL();
@@ -1301,7 +1308,8 @@
 
 #endif                    
             // downloads
-            aMenuPane->SetItemDimmed( EWmlCmdDownloads, !ApiProvider().BrCtlInterface().BrowserSettingL( TBrCtlDefs::ESettingsNumOfDownloads ) );
+            if(ApiProvider().StartedUp())
+                aMenuPane->SetItemDimmed( EWmlCmdDownloads, !ApiProvider().BrCtlInterface().BrowserSettingL( TBrCtlDefs::ESettingsNumOfDownloads ) );
 
             // edit
             if ( !item || (iInAdaptiveBookmarksFolder && aState.IsEmpty() ))
@@ -1347,7 +1355,7 @@
         case R_GOTO_SUBMENU:
             {
             // back to page
-            if ( !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching())
+            if ( !ApiProvider().StartedUp() || (!ApiProvider().IsPageLoaded() && !ApiProvider().Fetching()))
                 {
                 aMenuPane->SetItemDimmed( EWmlCmdBackToPage, ETrue );
                 }
@@ -2129,6 +2137,24 @@
     LOG_ENTERFN("CBrowserBookmarksView::DoActivateL");
     LOG_WRITE_FORMAT(" aCustomMessageId: %d", aCustomMessageId);
 
+#ifdef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
+    // Quick activation for first time only to show bookmarks view fast
+    if(!ApiProvider().StartedUp()) 
+        {
+        CBrowserFavouritesView::DoActivateL( aPrevViewId, aCustomMessageId, aCustomMessage );
+        if ( aCustomMessageId == KUidCustomMsgDownloadsList )
+            {
+            iShowDownlods = ETrue;
+            // Show the downloads later since contentview has not initialized yet
+            }
+        
+        // complete remaining application launch process, aynchronously
+        iAsyncComplete  = CIdle::NewL( CActive::EPriorityIdle );
+        iAsyncComplete->Start( TCallBack( CompleteAppInitCallback, &iApiProvider ) );
+        return;
+        }
+#endif
+    
     Toolbar()->HideItem( EWmlCmdAddBookmark, EFalse , ETrue);
 
 #ifndef BRDO_SINGLE_CLICK_ENABLED_FF
@@ -2197,6 +2223,40 @@
     }
 
 // ----------------------------------------------------------------------------
+// CBrowserBookmarksView::CompleteAppInitCallback
+// ----------------------------------------------------------------------------
+//
+TInt CBrowserBookmarksView::CompleteAppInitCallback( TAny* aProvider )
+    {
+    MApiProvider  *apiProvider = STATIC_CAST(MApiProvider*, aProvider);
+    TBool result = apiProvider->CompleteDelayedInit();
+    return result;
+    }
+
+// ----------------------------------------------------------------------------
+// CBrowserBookmarksView::UpdateFavIcons
+// ----------------------------------------------------------------------------
+//
+void CBrowserBookmarksView::UpdateFavIconsL()
+    {
+    Container()->Listbox()->UpdateFavIconsL();
+    }
+
+
+// ----------------------------------------------------------------------------
+// CBrowserBookmarksView::CheckForDownloads
+// ----------------------------------------------------------------------------
+//
+void CBrowserBookmarksView::CheckForDownloads()
+    {
+    if(iShowDownlods)
+        {
+        if ( iDownloadsListExecuter == 0 )
+            iDownloadsListExecuter = new (ELeave) CAsyncDownloadsListExecuter( ApiProvider() );
+        iDownloadsListExecuter->Start();
+        }
+    }
+// ----------------------------------------------------------------------------
 // CBrowserBookmarksView::DoDeactivate
 // ----------------------------------------------------------------------------
 //
@@ -2208,7 +2268,8 @@
         }
     if ( !ApiProvider().ExitInProgress() )
         {
-        ApiProvider().BrCtlInterface().RemoveLoadEventObserver( this );
+        if ( ApiProvider().StartedUp() )
+            ApiProvider().BrCtlInterface().RemoveLoadEventObserver( this );
         }
     CBrowserFavouritesView::DoDeactivate();
     iManualItemMovingGoingOn = EFalse;