camerauis/cameraapp/generic/src/CamAppui.cpp
branchRCL_3
changeset 20 38fb6f7eacd5
parent 18 51dda465e618
child 25 bf64cebf4673
--- a/camerauis/cameraapp/generic/src/CamAppui.cpp	Wed Apr 14 15:41:04 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamAppui.cpp	Tue Apr 27 16:19:06 2010 +0300
@@ -646,8 +646,6 @@
   iLostFocusToNewWindow = EFalse;
   iFirstVFStart = ETrue;
 
-  iInternalStorage = iController.ExistMassStorage()?ECamMediaStorageMassStorage:ECamMediaStoragePhone;
-
   if ( !uiOrientationOverride )
     {
     iUiConstructionComplete = ETrue;
@@ -2195,6 +2193,11 @@
                   }
                 }
               }
+          if ( iInSelfTimerMode != ECamSelfTimerDisabled )
+              {
+              // This is set to false when StartCaptureL() is run
+              iSelfTimedCapture = ETrue;
+              }
           }
       
       // Always switch to post capture view if self timer is enabled
@@ -2375,8 +2378,6 @@
           }
         }
             // reset the selftimed capture flag for next capture
-            PRINT( _L("resetting iSelfTimedCapture") )
-            iSelfTimedCapture = EFalse;
       break;
       }     
     // -----------------------------
@@ -2680,7 +2681,7 @@
         else 
             {
             PRINT( _L( "Camera <> CCamAppUi::HandleStandbyEventL: call iView->ExitAllModesL") );
-            PRINT1( _L( "Camera <> CCamAppUi::HandleStandbyEventL: iView = 0x%x"), iView );
+            PRINT2( _L( "Camera <> CCamAppUi::HandleStandbyEventL: iView = 0x%x, iViewId = %d"), iView, iView->Id().iUid );
             // Exit any special modes.
             // If AppUI construction is not finished, do it first, otherwise
             // the view has not been created yet
@@ -2694,7 +2695,11 @@
               {    
               if( iView)
                   {
-                  static_cast<CCamViewBase*>( iView )->ExitAllModesL();
+                  CCamViewBase* view  = dynamic_cast<CCamViewBase*>( iView );
+                  if( view )
+                      {
+                      view->ExitAllModesL();
+                      }
                   }
               }
              
@@ -4857,6 +4862,7 @@
     {
     PRINT( _L("Camera => CCamAppUi::StartCaptureL") );
     iLensCoverExit = EFalse; 
+    iSelfTimedCapture = EFalse;
     if ( iMode != ECamControllerVideo )
         {
         // Check for active viewfinder before proceeding with capture
@@ -5149,6 +5155,18 @@
         // this will exit when any current process completes
         iController.EnterShutdownMode( EFalse );
         }
+    
+    if( iController.IntegerSettingValue( ECamSettingItemPhotoMediaStorage ) == ECamMediaStorageNone )
+        {
+        iController.SetIntegerSettingValueL(ECamSettingItemPhotoMediaStorage, iInternalStorage );
+        }
+    
+    if( iController.IntegerSettingValue( ECamSettingItemVideoMediaStorage ) == ECamMediaStorageNone )
+        {
+        iController.SetIntegerSettingValueL(ECamSettingItemVideoMediaStorage, iInternalStorage );
+        }
+        
+    
     PRINT( _L("Camera <= CCamAppUi::CloseAppL") )        
     OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP_CCAMAPPUI_CLOSEAPPL, "e_CCamAppUi_CloseAppL 0" );
     
@@ -7379,7 +7397,7 @@
 //
 void CCamAppUi::SetPreCaptureModeL(TCamPreCaptureMode aMode)  
     {
-    PRINT(_L("Camera=>CCamAppUi::SetPreCaptureMode"))
+    PRINT1(_L("Camera=>CCamAppUi::SetPreCaptureMode aMode=%d"), aMode);
     iPreCaptureMode = aMode;
 
     CCamViewBase* precapView = NULL;
@@ -7837,7 +7855,7 @@
 
 // ---------------------------------------------------------------------------
 // CCamAppUi::IsSelfTimedCapture
-// Whether the current capture was selftimer initiated
+// Whether the latest capture was selftimer initiated
 // ---------------------------------------------------------------------------
 //         
 TBool CCamAppUi::IsSelfTimedCapture() const
@@ -8386,6 +8404,8 @@
     // Load the settings model static settings
     PRINT( _L("Camera <> call CCamAppController::LoadStaticSettingsL..") )
     iController.LoadStaticSettingsL( IsEmbedded() );
+    
+    iInternalStorage = static_cast<TCamMediaStorage>(iController.IntegerSettingValue( ECamSettingItemPhotoMediaStorage ));
     // store the userscene settings
     iController.StoreUserSceneSettingsL();
 
@@ -8576,4 +8596,83 @@
     return iStartupLogoController;
     }
 
+
+// -----------------------------------------------------------------------------
+// CCamAppUi::IsRecoverableStatus 
+// -----------------------------------------------------------------------------
+//
+TBool CCamAppUi::IsRecoverableStatus()
+    {
+    TBool ret = ETrue;
+    switch(iStandbyStatus)
+        {
+        case ECamErrMassStorageMode:
+        case ECamErrMemoryCardNotInserted:
+            ret = EFalse;
+            break;
+        default:
+            break;
+        }
+    return ret;
+    }
+
+// -----------------------------------------------------------------------------
+// CCamAppUi::ChangeStandbyStatusL 
+// -----------------------------------------------------------------------------
+//
+TBool CCamAppUi::ChangeStandbyStatusL( TInt aError )
+    {
+    PRINT( _L("Camera => CCamAppUi::ChangeStandbyStatusL") );
+    TBool ret = ETrue;
+    if( ECamViewStateStandby == iViewState )
+        {
+        CCamViewBase* view = static_cast<CCamViewBase*>( iView );
+        if( view )
+            {
+            PRINT( _L("Camera <> CCamAppUi::ChangeStandbyStatusL ECamViewStateStandby") );
+            view->SetStandbyStatusL( aError );
+            }
+        else
+            {
+            ret = EFalse;
+            }
+        }
+    else if( ECamViewStatePreCapture == iViewState )
+        {
+        CCamPreCaptureViewBase* view = static_cast<CCamPreCaptureViewBase*>( iView );
+        PRINT( _L("Camera <> CCamAppUi::ChangeStandbyStatusL ECamViewStatePreCapture") );
+        if( view ) 
+            {
+            if( TBool(ETrue)  == view->IsSetupModeActive() ) // Boolean corruption
+                {
+                ret = ETrue;
+                }
+            else
+                {
+                ret = EFalse;
+                }
+            }
+        }
+    else
+        {
+        if( ECamViewStatePreCapture ==  iTargetViewState  || ECamPreCapViewfinder == iPreCaptureMode)
+            {
+            ret = EFalse;
+            }
+        PRINT3( _L("Camera <> CCamAppUi::ChangeStandbyStatusL iViewState=%d iTargetViewState=%d iPreCaptureMode=%d"), iViewState, iTargetViewState, iPreCaptureMode );
+        }
+    PRINT1( _L("Camera <= CCamAppUi::ChangeStandbyStatusL ret=%d"), ret);
+    return ret;
+    }
+
+// -----------------------------------------------------------------------------
+// CCamAppUi::PreCaptureMode 
+// -----------------------------------------------------------------------------
+//
+TCamPreCaptureMode CCamAppUi::PreCaptureMode()
+    {
+    PRINT1( _L("Camera <> CCamAppUi::PreCaptureMode %d"), iPreCaptureMode);
+    return iPreCaptureMode;
+    }
+
 //  End of File