camerauis/cameraapp/generic/src/CamSettingsModel.cpp
branchRCL_3
changeset 10 8c55c525d5d7
parent 2 e8773a61782d
child 11 d486e5e3cc9a
--- a/camerauis/cameraapp/generic/src/CamSettingsModel.cpp	Fri Mar 12 15:41:04 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamSettingsModel.cpp	Mon Mar 15 12:39:00 2010 +0200
@@ -137,6 +137,7 @@
         }
     iStaticModel->ResetSettingItem( KCamCrUserSceneContrast );
     iStaticModel->ResetSettingItem( KCamCrUserSceneImageSharpness );
+    iStaticModel->ResetSettingItem( KCamCrUserSceneDefault ); 
 
     // Reload the static user scene settings
     iUserSceneSettings.ResetAndDestroy();
@@ -397,7 +398,7 @@
     // If there is only one setting changed other than scene mode setting 
     // and if the Dynamic Scene mode is "User Scene" we update the new setting
     // value to the camera dynamic settings
-    if ( !userSceneModeSettingChanged )
+    if ( !userSceneModeSettingChanged && settingId != ECamSettingItemUserSceneDefault ) 
       {
       TInt scene = IntegerSettingValue( ECamSettingItemDynamicPhotoScene );
       // If user scene is the currently active photo scene then activate the
@@ -733,9 +734,9 @@
     // The model registers with the AppUi which is created after the model.
     // Registration is done here so we can guarantee that the AppUi has 
     // been created.
-    CCamAppUiBase* appUi = static_cast<CCamAppUiBase*>
-                                            ( iEnv->AppUi() );
-    appUi->AddBurstModeObserverL(  this );
+    
+    CCamAppUi* appUi = static_cast<CCamAppUi*>( CEikonEnv::Static()->AppUi() ); 
+    appUi->AddBurstModeObserverL( this );
 
     // Free all memory currently used by the static settings.
     UnloadStaticSettings();
@@ -746,6 +747,10 @@
                     iUserSceneSettings
                    );
     iStaticModel->LoadStaticSettingsL( aIsEmbedded );
+    if ( appUi->ReturningFromPretendExit() || appUi->IsFirstBoot() )
+      {
+      SetUserSceneDefault(); 
+      }
 
     PRINT(_L("Camera <= CCamSettingsModel::LoadStaticSettingsL" ))
 
@@ -1289,16 +1294,21 @@
                  
 	    if ( iUiConfigManager->IsFaceTrackingSupported() ) // FT supported
          {      
-         if ( ECamSceneScenery == aSceneId || ECamSceneSports == aSceneId )
+         if ( ECamSceneScenery == aSceneId ||
+              ECamSceneSports == aSceneId ||
+              ECamSceneMacro == aSceneId)
             {
-            if ( ECamSceneScenery != iPreviousSceneMode && ECamSceneSports != iPreviousSceneMode ) // <- DATAMAKE
+            if ( ECamSceneScenery != iPreviousSceneMode && 
+                 ECamSceneSports != iPreviousSceneMode &&
+                 ECamSceneMacro != iPreviousSceneMode )
                {	
                iPreviousFaceTrack = TCamSettingsOnOff( IntegerSettingValue( ECamSettingItemFaceTracking ) );	
                }
             SetIntegerSettingValueL( ECamSettingItemFaceTracking, ECamSettOff );	
             }
          else if ( ( ECamSceneScenery == iPreviousSceneMode ||
-                     ECamSceneSports == iPreviousSceneMode ) &&
+                     ECamSceneSports == iPreviousSceneMode ||
+                     ECamSceneMacro == iPreviousSceneMode ) &&
                    ( ECamSettOff == TCamSettingsOnOff( IntegerSettingValue( ECamSettingItemFaceTracking ) ) ) )
              {
              SetIntegerSettingValueL( ECamSettingItemFaceTracking, iPreviousFaceTrack );
@@ -2305,7 +2315,9 @@
       return;	
       }
    TInt activeScene = IntegerSettingValue( ECamSettingItemDynamicPhotoScene );	
-   if ( ECamSceneScenery == activeScene || ECamSceneSports == activeScene ) 	
+   if ( ECamSceneScenery == activeScene ||
+        ECamSceneSports == activeScene ||
+        ECamSceneMacro == activeScene) 	
       {
       PRINT( _L("Camera <> CCamSettingsModel::StoreFaceTrackingValue(), Scenery or Sports mode" ) )		      	      	
       if ( iPreviousFaceTrack != TCamSettingsOnOff( IntegerSettingValue( ECamSettingItemFaceTracking ) ) )
@@ -2374,5 +2386,40 @@
     CopySettingsL(iUserSceneSettings, iUserSceneSettingsBackup);   
     }
 
+// ---------------------------------------------------------------------------
+// CCamSettingsModel::SetUserSceneDefault
+//
+// Set userScene as default 
+// ---------------------------------------------------------------------------
+// 
+void CCamSettingsModel::SetUserSceneDefault()
+    {
+    PRINT( _L("Camera => CCamSettingsModel::SetUserSceneDefault ") );
+    TInt settingsCount = iDynamicPhotoIntSettings.Count();
+    TInt userVal;
+    for ( TInt i = 0; i < settingsCount; ++i )
+       {
+       if ( iDynamicPhotoIntSettings[i]->iItemId == ECamSettingItemDynamicPhotoScene )
+         {
+         TInt sceneSetCount = iUserSceneSettings.Count();
+         for ( TInt j = 0; j < sceneSetCount; ++j )
+             {
+             if ( iUserSceneSettings[j]->iItemId == ECamSettingItemUserSceneDefault )
+                 {
+                 userVal = iUserSceneSettings[j]->iValueId;
+                 }
+             }
+         if ( userVal )
+             {
+             PRINT1( _L("Camera <> CCamSettingsModel::SetUserSceneDefault set userVal= %d"), userVal);
+             iDynamicPhotoIntSettings[i]->iValueId = ECamSceneUser;
+             ActivateUserSceneSettingsL();
+             }
+         
+         }
+       }
+    
+    PRINT( _L("Camera <= CCamSettingsModel::SetUserSceneDefault ") );
+    }
 // ===========================================================================
 // end of File