diff -r 51dda465e618 -r 38fb6f7eacd5 camerauis/cameraapp/generic/src/CamViewBase.cpp --- a/camerauis/cameraapp/generic/src/CamViewBase.cpp Wed Apr 14 15:41:04 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamViewBase.cpp Tue Apr 27 16:19:06 2010 +0300 @@ -400,6 +400,10 @@ else { SetSoftKeysL( R_CAM_SOFTKEYS_OPTIONS_EXIT__CONTINUE ); + if( Cba() && !appUi->IsRecoverableStatus() ) + { + Cba()->MakeCommandVisible( ECamCmdExitStandby, EFalse ); + } } // change options menu @@ -410,7 +414,7 @@ } // if ( iStandbyError != KErrNone ) - if ( appUi->StandbyStatus() != KErrNone ) + if ( appUi->StandbyStatus() != KErrNone && appUi->IsRecoverableStatus()) { // stop idle timer - non recoverable error iController.StopIdleTimer(); @@ -1040,4 +1044,40 @@ iCommandHandlerAo->HandleCommandL( aCommand ); } +// ----------------------------------------------------------------------------- +// CCamViewBase::SetStandbyStatusL +// ----------------------------------------------------------------------------- + +void CCamViewBase::SetStandbyStatusL( TInt aError ) + { + CCamAppUi* appUi = static_cast( AppUi() ); + __ASSERT_DEBUG( appUi, CamPanic( ECamPanicNullPointer ) ); + if( iStandbyModeActive ) + { + appUi->SetStandbyStatus( aError ); + iStandbyContainer->SetStandbyErrorL( aError ); + if ( aError == KErrInUse || + aError == KErrPermissionDenied || + aError == KErrAccessDenied ) + { + SetSoftKeysL( R_CAM_SOFTKEYS_OPTIONS_EXIT ); + } + else if ( iEmbedded ) + { + SetSoftKeysL( R_CAM_SOFTKEYS_OPTIONS_BACK__CONTINUE ); + } + else + { + SetSoftKeysL( R_CAM_SOFTKEYS_OPTIONS_EXIT__CONTINUE ); + if( Cba() && !appUi->IsRecoverableStatus() ) + { + Cba()->MakeCommandVisible( ECamCmdExitStandby, EFalse ); + } + else + { + Cba()->MakeCommandVisible( ECamCmdExitStandby, ETrue ); + } + } + } + } // End of File