camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp
branchRCL_3
changeset 20 38fb6f7eacd5
parent 18 51dda465e618
child 25 bf64cebf4673
--- a/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp	Wed Apr 14 15:41:04 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp	Tue Apr 27 16:19:06 2010 +0300
@@ -48,6 +48,7 @@
 #include "CamPreCaptureViewBaseTraces.h"
 #endif
 
+#include "camstartuplogocontroller.h" 
 
 // ===========================================================================
 // Constants
@@ -546,7 +547,8 @@
         TBool noToolbar = (ECamCompleting == iController.CurrentOperation() ) && appUi->IsSecondCameraEnabled();
 
         if ( ECamCameraPreparedImage == iController.CameraState() &&
-               !appUi->IsBurstEnabled() && !noToolbar )
+               !appUi->IsBurstEnabled() && !noToolbar
+               && !iStandbyModeActive )
             {
             // Also fixed toolbar might need to be enabled.
             appUi->SetToolbarVisibility();
@@ -891,9 +893,9 @@
     {
     PRINT( _L("Camera => CCamPreCaptureViewBase::ExitCaptureSetupModeL") )
      
-    
+    CCamCaptureSetupViewBase::ExitCaptureSetupModeL();    
     iController.SetViewfinderWindowHandle( &iContainer->Window() );
-    CCamCaptureSetupViewBase::ExitCaptureSetupModeL();
+
     
     if( !iController.IsViewFinding() && !iController.InVideocallOrRinging() )
       {
@@ -1049,12 +1051,13 @@
       break;
     }
 
-  if ( iController.InVideocallOrRinging() )
+  if ( iController.InVideocallOrRinging() || !iController.IssueModeChangeSequenceSucceeded() )
       {
       return;
       }	
-      
+  
   appUi->HandleCommandL(ECamCmdSwitchToPrecapture);
+  
 
   if ( !( iController.UiConfigManagerPtr() && 
             iController.UiConfigManagerPtr()->IsUIOrientationOverrideSupported() ) )
@@ -1293,7 +1296,17 @@
             fixedToolbar->SetToolbarVisibility( EFalse );
             }
         }
-  
+
+    // Hide the startup logo in standby mode. 
+    // Camera application will enter standby mode if it detect camera hardware is in use
+    // by another application (such as video call) when camera application is starting up. 
+    // If this, we need hiding startup logo in standby mode.
+    CCamAppUi* appUi = static_cast<CCamAppUi*>( iEikonEnv->AppUi() ); 
+    if ( appUi->StartupLogoController() )
+      {
+      appUi->StartupLogoController()->HideLogo();
+      }
+      
     // stop viewfinding
     StopViewFinder();
 
@@ -1771,6 +1784,7 @@
     if ( iGestureFw ) 
         {
         delete iGestureFw;
+        iGestureFw = NULL;
         }
 
     iGestureFw = CAknTouchGestureFw::NewL( *this, *iContainer );
@@ -1855,4 +1869,21 @@
     PRINT( _L("Camera <= CCamPreCaptureViewBase::HandleTouchGestureL") );
     }
 
+// ---------------------------------------------------------------------------
+// CCamPreCaptureViewBase::IsCaptureSetupMenuModeActive
+//
+// ---------------------------------------------------------------------------
+//
+TBool CCamPreCaptureViewBase::IsSetupModeActive()
+    {
+    TBool trueValue = ETrue;
+    TBool ret = ( iCaptureSetupModeActive == trueValue ||
+             iCaptureSetupMenuModeActive == trueValue || 
+             iSceneSettingModeActive == trueValue ||
+             iInfoListBoxActive == trueValue
+             );
+    PRINT1( _L("Camera <> CCamPreCaptureViewBase::IsSetupModeActive %d"), ret );
+    return ret;
+    }
 //  End of File  
+