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. |