camerauis/cameraapp/generic/src/CamViewBase.cpp
branchRCL_3
changeset 13 38fb6f7eacd5
parent 9 792dfc98fb3b
child 15 bf64cebf4673
--- 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<CCamAppUi*>( 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