photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp
branchRCL_3
changeset 25 191387a8b767
parent 22 2dac0fdba72b
child 30 a60acebbbd9d
--- a/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp	Wed Apr 14 15:57:24 2010 +0300
+++ b/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp	Tue Apr 27 16:37:53 2010 +0300
@@ -133,7 +133,6 @@
     CleanupStack::PopAndDestroy(uiUtility);     
     //Register the view to recieve toolbar events. ViewBase handles the events    
     SetToolbarObserver(this);
-	iMMCNotifier = CGlxMMCNotifier::NewL(*this);
     }
 
 // ---------------------------------------------------------------------------
@@ -143,8 +142,6 @@
 CGlxListViewImp::~CGlxListViewImp()
     {    
     TRACER("CGlxListViewImp::~CGlxListViewImp");
-    delete iMMCNotifier;
-    iMMCNotifier = NULL;
     
     if ( iNavigationalState )
         {
@@ -187,13 +184,20 @@
     TRACER("CGlxListViewImp::DoMLViewActivateL");  
     
     TUint transitionID = (iUiUtility->ViewNavigationDirection()==
-          EGlxNavigationForwards)?KActivateTransitionId:KDeActivateTransitionId;
-
-    GfxTransEffect::BeginFullScreen( transitionID, TRect(),
+         EGlxNavigationForwards)?KActivateTransitionId:KDeActivateTransitionId;
+		
+    //Do the activate animation only for views other than mainlist view and
+	//on backward navigation from any other views to main list view, since 
+	//for the app start the animation effect is by default provided.
+    if (iMediaList->IdSpaceId(0) != KGlxIdSpaceIdRoot || 
+           transitionID == KDeActivateTransitionId) 
+        {
+    	GfxTransEffect::BeginFullScreen( transitionID, TRect(),
                                    AknTransEffect::EParameterType, 
                          AknTransEffect::GfxTransParam( KPhotosUid, 
-                                 AknTransEffect::TParameter::EEnableEffects) );   
-    GfxTransEffect::EndFullScreen();
+                         AknTransEffect::TParameter::EEnableEffects) );   
+    	GfxTransEffect::EndFullScreen();
+    	}
     
     iNextViewActivationEnabled = ETrue;
     if(StatusPane())
@@ -272,6 +276,7 @@
 		}
     iProgressIndicator = CGlxProgressIndicator::NewL(*this);
     iProgressIndicator->ShowProgressbarL();
+    iMMCNotifier = CGlxMMCNotifier::NewL(*this);
     }
 
 // ---------------------------------------------------------------------------
@@ -317,6 +322,9 @@
         delete iProgressIndicator;
         iProgressIndicator = NULL;
 	    }
+	
+	delete iMMCNotifier;
+	iMMCNotifier = NULL;
 	}
 
 // ---------------------------------------------------------------------------
@@ -393,7 +401,7 @@
 
 TTypeUid::Ptr CGlxListViewImp::MopSupplyObject(TTypeUid aId)
 	{   
-    if (iBgContext)
+    if (iBgContext && aId.iUid == MAknsControlContext::ETypeId)
     	{
         return MAknsControlContext::SupplyMopObject(aId, iBgContext );
     	}