diff -r 51dda465e618 -r 38fb6f7eacd5 camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp --- 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( 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 +