Revision: 201001 PDK_3.0.f
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 26 Jan 2010 11:44:00 +0200
changeset 2 e8773a61782d
parent 1 f5ec9446e5bf
child 3 8b2d6d0384b0
Revision: 201001 Kit: 201004
camerauis/cameraapp/generic/GsCamcorderPlugin/src/CamLocationSettingContainer.cpp
camerauis/cameraapp/generic/common/data/CamSettings.ra
camerauis/cameraapp/generic/common/data/CamSettingsV2.ra
camerauis/cameraapp/generic/common/data/CamVideoCaptureCamcorder.ra
camerauis/cameraapp/generic/common/src/CamCaptureSetupListItemDrawer.cpp
camerauis/cameraapp/generic/data/nhdcamsettings.rss
camerauis/cameraapp/generic/data/resource_inc/CamVideoCapturePortrait.ra
camerauis/cameraapp/generic/data/vgacamsettings.rss
camerauis/cameraapp/generic/inc/CamSettingsModel.h
camerauis/cameraapp/generic/src/CamAppui.cpp
camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp
camerauis/cameraapp/generic/src/CamCaptureSetupControlHandler.cpp
camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp
camerauis/cameraapp/generic/src/CamSettingsModel.cpp
camerauis/cameraapp/generic/src/CamUserSceneSetupContainer.cpp
camerauis/cameraapp/loc/cam.loc
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/CamLocationSettingContainer.cpp	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/CamLocationSettingContainer.cpp	Tue Jan 26 11:44:00 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -230,7 +230,6 @@
 		    ( parent->IntegerSettingValue( listInt ) );
 		}
 	iListBox->SetContainerWindowL( *iParent );
-    iListBox->DisableSingleClick( ETrue );
 	
 	TRect listboxRect;
 	ReadListboxLayoutL(listboxRect);
@@ -755,6 +754,7 @@
         
         case EEventEnterKeyPressed:
         case EEventItemDoubleClicked:
+        case EEventItemSingleClicked:
               {
                TKeyEvent key;
                key.iRepeats = 0;
--- a/camerauis/cameraapp/generic/common/data/CamSettings.ra	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/common/data/CamSettings.ra	Tue Jan 26 11:44:00 2010 +0200
@@ -1059,6 +1059,23 @@
 	extension = r_setting_page_extension;
 	}
 
+//----------------------------------------------------
+//
+//    r_cam_settings_location_settings_page   
+//   
+//
+//----------------------------------------------------
+//
+RESOURCE AVKON_SETTING_PAGE r_cam_settings_location_settings_page
+    {
+    // the type and editor resource are included so that the
+    // settings page can be constructed without crashing but are not used
+    // The custom quality control is used instead
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_cam_setting_listbox;  
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
+    extension = r_setting_page_extension;             
+    }
 
 // VIDEO SETTINGS RESOURCES
 
@@ -1155,7 +1172,7 @@
             // The quality page resource is used to prevent crashing in the construction phase
             // The type and editor resource are included but are not used
             // The custom quality control is used instead
-            setting_page_resource = r_cam_settings_quality_settings_page;
+            setting_page_resource = r_cam_settings_location_settings_page;
             associated_resource = r_cam_photo_location_texts;
             name = qtn_lcam_sett_attr_rec_location;
             },
@@ -1518,7 +1535,7 @@
             // The quality page resource is used to prevent crashing in the construction phase
             // The type and editor resource are included but are not used
             // The custom quality control is used instead
-            setting_page_resource = r_cam_settings_quality_settings_page;
+            setting_page_resource = r_cam_settings_location_settings_page;
             associated_resource = r_cam_photo_location_texts;
             name = qtn_lcam_sett_attr_rec_location;
             },
@@ -2694,7 +2711,7 @@
             {
             setting_value_id = ECamLocationOff;
             summary_icon = -1;
-            summary_description_text = qtn_lcam_descr_location_off;
+            summary_description_text = qtn_lcam_descr_location_on; 
             },
         CAM_LOCATION_SELECT_SUMMARY
             {
--- a/camerauis/cameraapp/generic/common/data/CamSettingsV2.ra	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/common/data/CamSettingsV2.ra	Tue Jan 26 11:44:00 2010 +0200
@@ -1065,6 +1065,23 @@
 	extension = r_setting_page_extension;
 	}
 
+//----------------------------------------------------
+//
+//    r_cam_settings_location_settings_page   
+//   
+//
+//----------------------------------------------------
+//
+RESOURCE AVKON_SETTING_PAGE r_cam_settings_location_settings_page
+    {
+    // the type and editor resource are included so that the
+    // settings page can be constructed without crashing but are not used
+    // The custom quality control is used instead
+    type = EAknCtPopupSettingList;
+    editor_resource_id = r_cam_setting_listbox;  
+    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; 
+    extension = r_setting_page_extension;              
+    }
 
 // VIDEO SETTINGS RESOURCES
 
--- a/camerauis/cameraapp/generic/common/data/CamVideoCaptureCamcorder.ra	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/common/data/CamVideoCaptureCamcorder.ra	Tue Jan 26 11:44:00 2010 +0200
@@ -956,12 +956,6 @@
             },
         MENU_ITEM
             {
-            command = KAiwCmdAssign;
-            txt = qtn_lcam_use_video_postcapture_menu;
-            cascade = AIW_INTELLIGENT_CASCADE_ID;
-            },
-        MENU_ITEM
-            {
             command = ECamCmdShareOnOvi;
             // AIW provider fills the menu item title.
             // No submenu, only 1 provider acccepted.
--- a/camerauis/cameraapp/generic/common/src/CamCaptureSetupListItemDrawer.cpp	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamCaptureSetupListItemDrawer.cpp	Tue Jan 26 11:44:00 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -247,12 +247,12 @@
     // ...text colour index if this item is selected.
     if( Flags() & CListItemDrawer::ESingleClickDisabledHighlight )
         {
-        aItemIsSelected = aItemIsCurrent;
+        // Single clickable items don't have a highlight
         aItemIsCurrent = EFalse;
         }
 
     if ( aItemIsCurrent )
-		{
+        {
         index = EAknsCIQsnTextColorsCG10; // highlighted text colour
         }
 
--- a/camerauis/cameraapp/generic/data/nhdcamsettings.rss	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/data/nhdcamsettings.rss	Tue Jan 26 11:44:00 2010 +0200
@@ -2167,26 +2167,6 @@
                     TBAR_CTRL
                         {
                         type = EAknCtButton;
-                        id = ECamCmdNewPhoto;
-                        control = AVKON_BUTTON
-                            {
-                            flags = KAknButtonNoFrame;
-                            states =
-                                {
-                                AVKON_BUTTON_STATE
-                                    {
-                                    bmpfile = CAMERAAPP_BITMAP_FILE;
-                                    bmpid = EMbmCameraappQgn_indi_cam4_camera;
-                                    bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
-                                    txt = qtn_lcam_tb_switch_mode;
-                                    extension = r_cam_ext_qgn_indi_cam4_camera;
-                                    }
-                                };
-                            };
-                        },
-                    TBAR_CTRL
-                        {
-                        type = EAknCtButton;
                         id = ECamCmdCaptureSetupWhiteBalanceVideo;
                         control = AVKON_BUTTON
                             {
@@ -2235,6 +2215,26 @@
                                     }
                                 };
                             };
+                        },
+                    TBAR_CTRL
+                        {
+                        type = EAknCtButton;
+                        id = ECamCmdNewPhoto;
+                        control = AVKON_BUTTON
+                            {
+                            flags = KAknButtonNoFrame;
+                            states =
+                                {
+                                AVKON_BUTTON_STATE
+                                    {
+                                    bmpfile = CAMERAAPP_BITMAP_FILE;
+                                    bmpid = EMbmCameraappQgn_indi_cam4_camera;
+                                    bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
+                                    txt = qtn_lcam_tb_switch_mode;
+                                    extension = r_cam_ext_qgn_indi_cam4_camera;
+                                    }
+                                };
+                            };
                         }                        
                     };
                 };
@@ -2325,26 +2325,6 @@
                     TBAR_CTRL
                         {
                         type = EAknCtButton;
-                        id = ECamCmdNewPhoto;
-                        control = AVKON_BUTTON
-                            {
-                            flags = KAknButtonNoFrame;
-                            states =
-                                {
-                                AVKON_BUTTON_STATE
-                                    {
-                                    bmpfile = CAMERAAPP_BITMAP_FILE;
-                                    bmpid = EMbmCameraappQgn_indi_cam4_camera;
-                                    bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
-                                    txt = qtn_lcam_tb_switch_mode;
-                                    extension = r_cam_ext_qgn_indi_cam4_camera;
-                                    }
-                                };
-                            };
-                        },
-                    TBAR_CTRL
-                        {
-                        type = EAknCtButton;
                         id = ECamCmdCaptureSetupWhiteBalanceVideo;
                         control = AVKON_BUTTON
                             {
@@ -2393,6 +2373,26 @@
                                     }
                                 };
                             };
+                        },
+                    TBAR_CTRL
+                        {
+                        type = EAknCtButton;
+                        id = ECamCmdNewPhoto;
+                        control = AVKON_BUTTON
+                            {
+                            flags = KAknButtonNoFrame;
+                            states =
+                                {
+                                AVKON_BUTTON_STATE
+                                    {
+                                    bmpfile = CAMERAAPP_BITMAP_FILE;
+                                    bmpid = EMbmCameraappQgn_indi_cam4_camera;
+                                    bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
+                                    txt = qtn_lcam_tb_switch_mode;
+                                    extension = r_cam_ext_qgn_indi_cam4_camera;
+                                    }
+                                };
+                            };
                         }                        
                     };
                 };
--- a/camerauis/cameraapp/generic/data/resource_inc/CamVideoCapturePortrait.ra	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamVideoCapturePortrait.ra	Tue Jan 26 11:44:00 2010 +0200
@@ -607,12 +607,6 @@
             },
         MENU_ITEM
             {
-            command = KAiwCmdAssign; 
-            txt = qtn_lcam_use_video_postcapture_menu;
-            cascade = AIW_INTELLIGENT_CASCADE_ID;
-            },
-        MENU_ITEM
-            {
             command = ECamCmdShareOnOvi;
             // AIW provider fills the menu item title.
             // No submenu, only 1 provider acccepted.
--- a/camerauis/cameraapp/generic/data/vgacamsettings.rss	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/data/vgacamsettings.rss	Tue Jan 26 11:44:00 2010 +0200
@@ -2168,26 +2168,6 @@
                     TBAR_CTRL
                         {
                         type = EAknCtButton;
-                        id = ECamCmdNewPhoto;
-                        control = AVKON_BUTTON
-                            {
-                            flags = KAknButtonNoFrame;
-                            states =
-                                {
-                                AVKON_BUTTON_STATE
-                                    {
-                                    bmpfile = CAMERAAPP_BITMAP_FILE;
-                                    bmpid = EMbmCameraappQgn_indi_cam4_camera;
-                                    bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
-                                    txt = qtn_lcam_tb_switch_mode;
-                                    extension = r_cam_ext_qgn_indi_cam4_camera;
-                                    }
-                                };
-                            };
-                        },
-                    TBAR_CTRL
-                        {
-                        type = EAknCtButton;
                         id = ECamCmdCaptureSetupWhiteBalanceVideo;
                         control = AVKON_BUTTON
                             {
@@ -2236,6 +2216,26 @@
                                      }
                                  };
                              };
+                        },
+                     TBAR_CTRL
+                        {
+                        type = EAknCtButton;
+                        id = ECamCmdNewPhoto;
+                        control = AVKON_BUTTON
+                             {
+                             flags = KAknButtonNoFrame;
+                             states =
+                                 {
+                                 AVKON_BUTTON_STATE
+                                     {
+                                     bmpfile = CAMERAAPP_BITMAP_FILE;
+                                     bmpid = EMbmCameraappQgn_indi_cam4_camera;
+                                     bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
+                                     txt = qtn_lcam_tb_switch_mode;
+                                     extension = r_cam_ext_qgn_indi_cam4_camera;
+                                     }
+                                 };
+                             };
                         }                        
                     };
                 };
@@ -2326,26 +2326,6 @@
                     TBAR_CTRL
                         {
                         type = EAknCtButton;
-                        id = ECamCmdNewPhoto;
-                        control = AVKON_BUTTON
-                            {
-                            flags = KAknButtonNoFrame;
-                            states =
-                                {
-                                AVKON_BUTTON_STATE
-                                    {
-                                    bmpfile = CAMERAAPP_BITMAP_FILE;
-                                    bmpid = EMbmCameraappQgn_indi_cam4_camera;
-                                    bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
-                                    txt = qtn_lcam_tb_switch_mode;
-                                    extension = r_cam_ext_qgn_indi_cam4_camera;
-                                    }
-                                };
-                            };
-                        },
-                    TBAR_CTRL
-                        {
-                        type = EAknCtButton;
                         id = ECamCmdCaptureSetupWhiteBalanceVideo;
                         control = AVKON_BUTTON
                             {
@@ -2394,6 +2374,26 @@
                                     }
                                 };
                             };
+                        },
+                    TBAR_CTRL
+                        {
+                        type = EAknCtButton;
+                        id = ECamCmdNewPhoto;
+                        control = AVKON_BUTTON
+                            {
+                            flags = KAknButtonNoFrame;
+                            states =
+                                {
+                                AVKON_BUTTON_STATE
+                                    {
+                                    bmpfile = CAMERAAPP_BITMAP_FILE;
+                                    bmpid = EMbmCameraappQgn_indi_cam4_camera;
+                                    bmpmask = EMbmCameraappQgn_indi_cam4_camera_mask;
+                                    txt = qtn_lcam_tb_switch_mode;
+                                    extension = r_cam_ext_qgn_indi_cam4_camera;
+                                    }
+                                };
+                            };
                         }                        
                     };
                 };
--- a/camerauis/cameraapp/generic/inc/CamSettingsModel.h	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/inc/CamSettingsModel.h	Tue Jan 26 11:44:00 2010 +0200
@@ -500,6 +500,15 @@
     */
     void VideoSceneHasChangedL( TInt aSettingValue );
 
+    /**
+    * Returns the default value of a setting for a video scene item.
+    * @param aSceneId the id of the scene item.
+    * @param aSetting the id of the setting item.
+    * @return the default value
+    * @since 2.8
+    */
+    TInt DefaultSettingValueForVideoScene( TInt aSceneId, TInt aSetting ) const;
+
 
     /**
     * Returns the maximum allowed quality for a photo scene.
--- a/camerauis/cameraapp/generic/src/CamAppui.cpp	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamAppui.cpp	Tue Jan 26 11:44:00 2010 +0200
@@ -2599,6 +2599,9 @@
             }
             
         TrySwitchViewL();
+        // After restoring settings, still capture view should be active 
+        // -> Update all toolbar icons for still-capture view. 
+        iStillCaptureView->UpdateToolbarIconsL();
         break;
         }
     // -----------------------------------------------------
--- a/camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp	Tue Jan 26 11:44:00 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -666,6 +666,7 @@
               break;  
         
         case EEventItemClicked:
+        case EEventPenDownOnItem: // Fall through
             {
             MCamListboxModel* model = static_cast<MCamListboxModel*>( aListBox->Model() );
             iControlHandler.HandleSettingValueUpdateL( model->ItemValue( aListBox->CurrentItemIndex() ) ); 
--- a/camerauis/cameraapp/generic/src/CamCaptureSetupControlHandler.cpp	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamCaptureSetupControlHandler.cpp	Tue Jan 26 11:44:00 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -110,16 +110,13 @@
 				CleanupStack::Pop( captureSetupControl );
                 if( iSettingType == ECamSettingItemDynamicPhotoColourFilter ||
                     iSettingType == ECamSettingItemDynamicPhotoWhiteBalance ||
-                    iSettingType == ECamSettingItemDynamicPhotoFlash ||
                     iSettingType == ECamSettingItemDynamicPhotoImageSharpness || 
 
                     iSettingType == ECamSettingItemDynamicVideoColourFilter ||
                     iSettingType == ECamSettingItemDynamicVideoWhiteBalance || 
-                    iSettingType == ECamSettingItemDynamicVideoFlash ||
                     iSettingType == ECamSettingItemDynamicVideoBrightness ||
 
                     iSettingType == ECamSettingItemUserSceneImageSharpness ||
-                    iSettingType == ECamSettingItemUserSceneFlash ||
                     iSettingType == ECamSettingItemUserSceneWhitebalance ||
                     iSettingType == ECamSettingItemUserSceneColourFilter )
                     {
--- a/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp	Tue Jan 26 11:44:00 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -236,8 +236,11 @@
       SetLocationIndicatorVisibility();
       }
 
-  TBool dsaAlways = iController.IsDirectScreenVFSupported( ETrue ) && 
-                    iController.IsDirectScreenVFSupported( EFalse );
+  TBool dsaAlways( EFalse ); // Offscreen bitmap is needed with the emulator
+  #ifndef __WINS__
+  dsaAlways = iController.IsDirectScreenVFSupported( ETrue ) && 
+              iController.IsDirectScreenVFSupported( EFalse );
+  #endif
                  
   if ( !dsaAlways )
       {
@@ -2509,11 +2512,24 @@
     if ( CamUtility::IsNhdDevice() )
         {
         TInt variant = Layout_Meta_Data::IsLandscapeOrientation();
-        indicatorPane.LayoutRect( Rect(),
-            AknLayoutScalable_Apps::cam4_indicators_pane( variant ) ); 
+        if ( appUi->TargetMode() ==  ECamControllerVideo ) 
+            {
+            TRect rect;
+            TAknLayoutRect vidProgressPane;
+            AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, rect );
+            vidProgressPane.LayoutRect( rect,
+                AknLayoutScalable_Apps::vid4_progress_pane( variant ) );  
+            resolutionIconLayout.LayoutRect( vidProgressPane.Rect(),
+                AknLayoutScalable_Apps::vid4_progress_pane_g1() );
+            }
+        else
+            {
+            indicatorPane.LayoutRect( Rect(),
+                AknLayoutScalable_Apps::cam4_indicators_pane( variant ) ); 
 
-        resolutionIconLayout.LayoutRect( indicatorPane.Rect(),
-            AknLayoutScalable_Apps::cam4_indicators_pane_g1() );
+            resolutionIconLayout.LayoutRect( indicatorPane.Rect(),
+                AknLayoutScalable_Apps::cam4_indicators_pane_g1() );
+            }
         }
     else
         {
--- a/camerauis/cameraapp/generic/src/CamSettingsModel.cpp	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamSettingsModel.cpp	Tue Jan 26 11:44:00 2010 +0200
@@ -1445,21 +1445,31 @@
 // That is, it updates the rest of the video dynamic setings.
 // ---------------------------------------------------------------------------
 //
-void CCamSettingsModel::VideoSceneHasChangedL( TInt /*aSettingValue*/ )
+void CCamSettingsModel::VideoSceneHasChangedL( TInt aSettingValue )
     {
     // Set all the video capture setup values to their defaults,
     // except for the scene setting.
     TInt settingsCount = iDynamicVideoIntSettings.Count();
     TInt i;
     for ( i = 0; i < settingsCount; ++i )
+      {
+      //video light is used for LED flash not for xenon flash
+      if ( iDynamicVideoIntSettings[i]->iItemId == ECamSettingItemDynamicVideoFlash )
         {
-        // If the setting item is not the scene change it's value.
-        if ( iDynamicVideoIntSettings[i]->iItemId != ECamSettingItemDynamicVideoScene )
-            {
-            SetIntegerSettingValueL( iDynamicVideoIntSettings[i]->iItemId, 
-                iDynamicVideoIntDefaults[i] );
-            }
+        if ( iUiConfigManager->IsVideoLightSupported() && !iUiConfigManager->IsXenonFlashSupported() )
+          {
+          // Set the capture setup flash setting to that of the new scene.
+          TInt sceneFlash = DefaultSettingValueForVideoScene( aSettingValue, ECamSettingItemSceneFlashMode );      
+          SetIntegerSettingValueL( ECamSettingItemDynamicVideoFlash, sceneFlash );          
+          }
         }
+      // If the setting item is not the scene change it's value.
+      else if ( iDynamicVideoIntSettings[i]->iItemId != ECamSettingItemDynamicVideoScene ) 
+        {
+        SetIntegerSettingValueL( iDynamicVideoIntSettings[i]->iItemId, 
+              iDynamicVideoIntDefaults[i] );
+        }
+      }
 
     // Update the engine with the scene settings.
     //UpdateEngineWithSceneSettingsL( iVideoScenes, aSettingValue );
@@ -1467,6 +1477,22 @@
 
 
 // ---------------------------------------------------------------------------
+// CCamSettingsModel::DefaultSettingValueForVideoScene
+// Returns the default value of a setting for a video scene item.
+// ---------------------------------------------------------------------------
+//
+TInt CCamSettingsModel::DefaultSettingValueForVideoScene( TInt aSceneId, TInt aSettingId ) const
+    {
+    TInt sceneIndex = FindSceneInSceneList( aSceneId, iVideoScenes );
+   
+    TInt settingIndex = SearchInSettingsListFor( 
+        iVideoScenes[sceneIndex]->iSettings, aSettingId );
+    
+    return iVideoScenes[sceneIndex]->iSettings[settingIndex]->iValueId;
+    }
+
+
+// ---------------------------------------------------------------------------
 // CCamSettingsModel::PhotoSceneMaximumQuality
 // Returns the highest allowed quality for the current photo scene.
 // ---------------------------------------------------------------------------
--- a/camerauis/cameraapp/generic/src/CamUserSceneSetupContainer.cpp	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamUserSceneSetupContainer.cpp	Tue Jan 26 11:44:00 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -124,6 +124,16 @@
 //
 void CCamUserSceneSetupContainer::UpdateCurrentListItem()
     {
+    CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();   
+    if ( cba )
+        {
+        CEikCba* eikCba = static_cast<CEikCba*>( cba->ButtonGroup() );
+        if( eikCba )
+            {
+            // Hide LSK for single clickable settings
+            eikCba->EnableItemSpecificSoftkey( ETrue );
+            }
+        }  
     TInt selectedItemIndex = iUserSceneSetupList->CurrentItemIndex();
     UpdateListItem( selectedItemIndex );
     }
@@ -159,6 +169,20 @@
 void CCamUserSceneSetupContainer::HandleSelectionL( void )
     {
     TInt CommandId = CommandIdForActivatingCurrentItemControl();
+    CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
+    if ( cba && CommandId != ECamCmdCaptureSetupFlashUser )
+        {
+        CEikCba* eikCba = static_cast<CEikCba*>( cba->ButtonGroup() );
+        if( eikCba )
+            {
+            // Make LSK visible for the sliders.
+            // Sliders, like exposure compensation, are not listboxes, 
+            // thus single click cannot be disabled for those.
+            // All setting items, except flash, are double clickable and
+            // they have a visible LSK
+            eikCba->EnableItemSpecificSoftkey( EFalse );
+            }    
+        }
     iView.HandleCommandL( CommandId );
     }
     
@@ -189,20 +213,19 @@
 
     CreateWindowL();
 
-	// Create the listbox in the right style
+    // Create the listbox in the right style
     iUserSceneSetupList = new ( ELeave ) CAknSettingStyleListBox;
-   	iUserSceneSetupList->ConstructL( this, CEikListBox::ELeftDownInViewRect );
-    iUserSceneSetupList->DisableSingleClick( ETrue );
+    iUserSceneSetupList->ConstructL( this, CEikListBox::ELeftDownInViewRect );
 
-	TPoint pos = iEikonEnv->EikAppUi()->ClientRect().iTl;
-	TSize size = iUserSceneSetupList->MinimumSize();
-	SetExtent( pos, size ); 
+    TPoint pos = iEikonEnv->EikAppUi()->ClientRect().iTl;
+    TSize size = iUserSceneSetupList->MinimumSize();
+    SetExtent( pos, size ); 
 
 
-	// Setup the scroll bar
-	iUserSceneSetupList->CreateScrollBarFrameL( ETrue );
-	iUserSceneSetupList->ScrollBarFrame()->
-        SetScrollBarVisibilityL( CEikScrollBarFrame::EOn, 
+    // Setup the scroll bar
+    iUserSceneSetupList->CreateScrollBarFrameL( ETrue );
+    iUserSceneSetupList->ScrollBarFrame()->
+    SetScrollBarVisibilityL( CEikScrollBarFrame::EOn, 
             CEikScrollBarFrame::EAuto );
             
     iTitleResourceId = aResourceId;
--- a/camerauis/cameraapp/loc/cam.loc	Mon Jan 18 20:06:55 2010 +0200
+++ b/camerauis/cameraapp/loc/cam.loc	Tue Jan 26 11:44:00 2010 +0200
@@ -1667,7 +1667,7 @@
 //d:Hardware failure error note text
 //l:main_list_empty_pane
 //
-#define qtn_lcam_standby_hardware_failure "Unexpected error occurred. Power off the device and restart"
+#define qtn_lcam_standby_hardware_failure "Unexpected error occured, please re-start camera application. If re-start doesn't help, please reboot the device"
 
 //d:Camera in use error note text
 //l:main_list_empty_pane
@@ -1683,7 +1683,7 @@
 //d:All memory full error note text
 //l:popup_note_window
 //
-#define qtn_lcam_note_allmemory_full "Memory full. Unable to save image. Delete some data first"
+#define qtn_lcam_note_allmemory_full "All drives are full. Please delete some data and try again."
 
 //d:Internal memory full note text
 //l:popup_note_window
@@ -4198,4 +4198,26 @@
 //
 #define qtn_lcam_sett_attr_cont_af_off "Off"
 
+//d:Popup info note for camera first-time-use
+//d:This is shown as a warning to the user 
+//d:for the default value of location setting.
+//l:popup_info_list_pane_t1
+#define qtn_lcam_descr_location_ftu "Location notification: Captured photos and videos will be tagged with your location. If you share the photos and videos, the location data may also be visible to third parties who have access to that picture. Phone will use network to get the location data and data transfer charges may apply. If you want to disable the geotagging, you can do it in camera settings."
+
+//d:Set as default scene mode setting title
+//d:Shown in user scene setting list
+//l:list_setting_pane_t1
+#define qtn_lcam_set_user_default "Set as default scene mode" 
+
+//d: 'Yes' value for 'Set as default scene mode' (qtn_lcam_set_user_default)
+//d: in 'Image user scene' view (Image mode > Scene modes > User defined open)
+//l: list_single_pane_t1
+#define qtn_lcam_set_user_default_yes "Yes"
+
+//d: 'No' value for 'Set as default scene mode' (qtn_lcam_set_user_default)
+//d: in 'Image user scene' view (Image mode > Scene modes > User defined open)
+//l: list_single_pane_t1
+#define qtn_lcam_set_user_default_no "No"
+
+
 // end of file