photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp
branchRCL_3
changeset 17 a60acebbbd9d
parent 14 2dac0fdba72b
child 18 78ad99c24f08
equal deleted inserted replaced
15:191387a8b767 17:a60acebbbd9d
    30 #include <glxgridviewdata.rsg>                          // Gridview resource
    30 #include <glxgridviewdata.rsg>                          // Gridview resource
    31 
    31 
    32 #include <mglxmedialist.h>                              // CGlxMedialist
    32 #include <mglxmedialist.h>                              // CGlxMedialist
    33 #include <glxsetappstate.h>
    33 #include <glxsetappstate.h>
    34 #include <glxtracer.h>                                  // For Tracer
    34 #include <glxtracer.h>                                  // For Tracer
    35 
    35 #include <glxlog.h>
    36 
    36 
    37 // User Includes
    37 // User Includes
    38 #include "glxgridviewimp.h"                         
    38 #include "glxgridviewimp.h"                         
    39 #include "glxgridviewmlobserver.h"                      // medialist observer for Hg Grid                
    39 #include "glxgridviewmlobserver.h"                      // medialist observer for Hg Grid                
    40 #include "glxgridviewcontainer.h"
    40 #include "glxgridviewcontainer.h"
    43 #include <akntranseffect.h>                             
    43 #include <akntranseffect.h>                             
    44 #include <gfxtranseffect/gfxtranseffect.h>
    44 #include <gfxtranseffect/gfxtranseffect.h>
    45 #include "glxgfxtranseffect.h"  // For transition effects
    45 #include "glxgfxtranseffect.h"  // For transition effects
    46 
    46 
    47 const TInt KGlxToolbarButtonUnLatched = 0;              // Toolbar mark button's unlatched state defined in the rss file
    47 const TInt KGlxToolbarButtonUnLatched = 0;              // Toolbar mark button's unlatched state defined in the rss file
       
    48 
       
    49 //Video playback view uid
       
    50 #define KMPXVIDEOPLAYBACKVIEWUID 0x200159B4
       
    51 const TUid KVideoPlayBackUid = TUid::Uid(KMPXVIDEOPLAYBACKVIEWUID);
    48 
    52 
    49 // ======== MEMBER FUNCTIONS ========
    53 // ======== MEMBER FUNCTIONS ========
    50 
    54 
    51 // ---------------------------------------------------------------------------
    55 // ---------------------------------------------------------------------------
    52 // Two-phased constructor.
    56 // Two-phased constructor.
   109 	TRACER("CGlxGridViewImp::ConstructL()");
   113 	TRACER("CGlxGridViewImp::ConstructL()");
   110 	BaseConstructL(iResourceIds.iViewId);
   114 	BaseConstructL(iResourceIds.iViewId);
   111 	ViewBaseConstructL();
   115 	ViewBaseConstructL();
   112 	MLViewBaseConstructL(aMediaListFactory, aTitle);   
   116 	MLViewBaseConstructL(aMediaListFactory, aTitle);   
   113 
   117 
   114 	//create the tool bar dynamically
       
   115 	//to reduce the startup time of the application.
       
   116 	iToolbar = CAknToolbar::NewL(R_GLX_GRID_VIEW_TOOLBAR);
       
   117 	SetGridToolBar(iToolbar);
       
   118 	SetToolbarObserver(this);
       
   119 	iToolbar->SetToolbarVisibility(ETrue);
       
   120     
       
   121 	// Get object that stores the active media list registry
   118 	// Get object that stores the active media list registry
   122 	iActiveMediaListRegistry = CGlxActiveMediaListRegistry::InstanceL();
   119 	iActiveMediaListRegistry = CGlxActiveMediaListRegistry::InstanceL();
   123 	}
   120 	}
   124 
   121 
   125 // ---------------------------------------------------------------------------
   122 // ---------------------------------------------------------------------------
   126 // From CAknView
   123 // From CAknView
   127 // Handles a view activation.
   124 // Handles a view activation.
   128 // ---------------------------------------------------------------------------
   125 // ---------------------------------------------------------------------------
   129 //
   126 //
   130 void CGlxGridViewImp::DoMLViewActivateL(
   127 void CGlxGridViewImp::DoMLViewActivateL(
   131 		const TVwsViewId& /* aPrevViewId */, 
   128 		const TVwsViewId& aPrevViewId, 
   132 		TUid /* aCustomMessageId */,
   129 		TUid /* aCustomMessageId */,
   133 		const TDesC8& /*aCustomMessage*/)
   130 		const TDesC8& aCustomMessage)
   134 	{
   131 	{
   135 	TRACER("CGlxGridViewImp::DoMLViewActivateL()");
   132 	TRACER("CGlxGridViewImp::DoMLViewActivateL()");
   136 
   133 
   137     TUint transitionID = (iUiUtility->ViewNavigationDirection()==
   134     TUint transitionID = (iUiUtility->ViewNavigationDirection()==
   138           EGlxNavigationForwards)?KActivateTransitionId:KFSDeActivateTransitionId; 
   135           EGlxNavigationForwards)?KActivateTransitionId:KFSDeActivateTransitionId; 
   139     
   136     
   140 	GfxTransEffect::BeginFullScreen( transitionID, TRect(),
   137     HBufC8* activationParam = HBufC8::NewLC(KMaxUidName);
   141                                 AknTransEffect::EParameterType, 
   138     activationParam->Des().AppendNum(KGlxActivationCmdShowAll);    
   142                                 AknTransEffect::GfxTransParam( KPhotosUid,
   139 
   143                                 AknTransEffect::TParameter::EEnableEffects) );	
   140     //Do not animate the view if launched from camera application.
   144 	GfxTransEffect::EndFullScreen();
   141     if (aCustomMessage.Compare(activationParam->Des()) != 0) 
       
   142         {    
       
   143         GfxTransEffect::BeginFullScreen( transitionID, TRect(),
       
   144                                     AknTransEffect::EParameterType, 
       
   145                                     AknTransEffect::GfxTransParam( KPhotosUid,
       
   146                                     AknTransEffect::TParameter::EEnableEffects) );	
       
   147         GfxTransEffect::EndFullScreen();
       
   148         }
       
   149 	
       
   150 	CleanupStack::PopAndDestroy(activationParam);
   145 	
   151 	
   146 	if(StatusPane())
   152 	if(StatusPane())
   147 		{
   153 		{
   148 		StatusPane()->MakeVisible(ETrue);
   154 		StatusPane()->MakeVisible(ETrue);
   149 		CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
   155 		CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
   171 	if(!iToolbar)
   177 	if(!iToolbar)
   172         {
   178         {
   173         iToolbar = CAknToolbar::NewL(R_GLX_GRID_VIEW_TOOLBAR);
   179         iToolbar = CAknToolbar::NewL(R_GLX_GRID_VIEW_TOOLBAR);
   174         SetGridToolBar(iToolbar);
   180         SetGridToolBar(iToolbar);
   175         SetToolbarObserver(this);
   181         SetToolbarObserver(this);
   176         iToolbar->SetToolbarVisibility(ETrue);
   182         TBool visibility = iUiUtility->ViewNavigationDirection()
       
   183                 == EGlxNavigationBackwards ? ETrue : EFalse;
       
   184         if (aPrevViewId.iViewUid == KVideoPlayBackUid)
       
   185             {
       
   186             GLX_DEBUG1( "CGlxGridViewImp::DoMLViewActivateL() "
       
   187                     "- Coming from video playback!");        
       
   188             visibility = ETrue;
       
   189             }
       
   190         iToolbar->SetToolbarVisibility(visibility);
   177         }
   191         }
   178 	//Create HG Grid, medialist observer, FS thumbnailcontext
   192 	//Create HG Grid, medialist observer, FS thumbnailcontext
   179 	iGlxGridViewContainer = CGlxGridViewContainer::NewL(iMediaList,iUiUtility,*this,iToolbar);
   193 	iGlxGridViewContainer = CGlxGridViewContainer::NewL(iMediaList,iUiUtility,*this,iToolbar);
   180 	iEikonEnv->AppUi()->AddToStackL(*this,iGlxGridViewContainer);
   194 	iEikonEnv->AppUi()->AddToStackL(*this,iGlxGridViewContainer);
       
   195 	iUiUtility->DestroyScreenClearer();
   181 	}
   196 	}
   182 
   197 
   183 // ---------------------------------------------------------------------------
   198 // ---------------------------------------------------------------------------
   184 // From CAknView
   199 // From CAknView
   185 // View deactivation function.
   200 // View deactivation function.