camerauis/cameraapp/generic/src/CamContainerBase.cpp
branchRCL_3
changeset 12 8c55c525d5d7
parent 0 1ddebce53859
child 27 53c8aa5d97a3
--- a/camerauis/cameraapp/generic/src/CamContainerBase.cpp	Fri Mar 12 15:41:04 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamContainerBase.cpp	Mon Mar 15 12:39:00 2010 +0200
@@ -892,4 +892,50 @@
     return control; 
     }
 
+// ---------------------------------------------------------
+// CCamCaptureSetupContainer::ReserveAndStartVF
+// ---------------------------------------------------------
+//
+void CCamContainerBase::ReserveAndStartVF()
+    {
+    PRINT ( _L("Camera => CCamContainerBase::ReserveAndStartVF") );
+    TCamCameraMode mode = iController.CurrentMode();
+    if(iController.IsAppUiAvailable())
+        {
+        TVwsViewId currentViewId;
+        CCamAppUi* appUi = static_cast<CCamAppUi*>( iEikonEnv->AppUi() );
+        appUi->GetActiveViewId( currentViewId );
+        switch ( currentViewId.iViewUid.iUid )
+            {
+            case ECamViewIdPhotoUserSceneSetup:
+            case ECamViewIdStillPreCapture:
+                {
+                mode = ECamControllerImage;
+                }
+                break;
+            case ECamViewIdVideoPreCapture:
+                {
+                mode = ECamControllerVideo;
+                }
+                break;
+            default:
+                {
+                //Assume imagemode if view cannot be determined.
+                if(mode==ECamControllerIdle)
+                    {
+                    mode = ECamControllerImage;                
+                    }
+                }
+                break;
+            }
+        }
+    //Don't reserve camera and start viewfinder if shutting down.
+    if(mode!=ECamControllerShutdown)
+        {
+        iController.EnterViewfinderMode( mode );
+        iController.StartIdleTimer();
+        }
+    PRINT ( _L("Camera <= CCamContainerBase::ReserveAndStartVF") );        
+    }
+
 // End of File