diff -r 792dfc98fb3b -r 8c55c525d5d7 camerauis/cameraapp/generic/src/CamSettingsModel.cpp --- 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 - ( iEnv->AppUi() ); - appUi->AddBurstModeObserverL( this ); + + CCamAppUi* appUi = static_cast( 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