Revision: 201011 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 31 Mar 2010 21:06:44 +0300
branchRCL_3
changeset 16 d486e5e3cc9a
parent 12 8c55c525d5d7
child 18 51dda465e618
Revision: 201011 Kit: 201013
camerauis/cameraapp/build/cameraapp.mmp
camerauis/cameraapp/build/iconlist.txt
camerauis/cameraapp/conf/cameraapp.confml
camerauis/cameraapp/conf/cameraapp_101FFA86.crml
camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp
camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamCaptureToneSettingItem.h
camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamCaptureToneSettingItem.cpp
camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsList.cpp
camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamQualitySettingContainer.cpp
camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamVideoSettingsList.cpp
camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPlugin.cpp
camerauis/cameraapp/generic/common/data/CamSettings.ra
camerauis/cameraapp/generic/common/data/CamSettingsV2.ra
camerauis/cameraapp/generic/common/inc/CamSettings.hrh
camerauis/cameraapp/generic/common/inc/CamSettingsInternal.hrh
camerauis/cameraapp/generic/common/inc/CameraappPrivateCRKeys.h
camerauis/cameraapp/generic/common/src/CamCaptureSetupListBox.cpp
camerauis/cameraapp/generic/common/src/CamCaptureSetupListItemDrawer.cpp
camerauis/cameraapp/generic/common/src/CamStaticSettingsModel.cpp
camerauis/cameraapp/generic/common/src/CamUtility.cpp
camerauis/cameraapp/generic/data/nhdcamsettings.rss
camerauis/cameraapp/generic/data/resource_inc/CamStandby.ra
camerauis/cameraapp/generic/data/resource_inc/CamStillCapture.ra
camerauis/cameraapp/generic/data/resource_inc/CamStillCaptureV2.ra
camerauis/cameraapp/generic/data/resource_inc/CamVideoCapture.ra
camerauis/cameraapp/generic/data/resource_inc/CamVideoCaptureV2.ra
camerauis/cameraapp/generic/inc/CamAppUi.h
camerauis/cameraapp/generic/inc/CamInfoListBoxContainer.h
camerauis/cameraapp/generic/inc/CamPreCaptureContainerBase.h
camerauis/cameraapp/generic/inc/camstartuplogo.h
camerauis/cameraapp/generic/inc/camstartuplogocontroller.h
camerauis/cameraapp/generic/src/CamAppController.cpp
camerauis/cameraapp/generic/src/CamAppui.cpp
camerauis/cameraapp/generic/src/CamBurstThumbnailView.cpp
camerauis/cameraapp/generic/src/CamCaptureSetupSlider.cpp
camerauis/cameraapp/generic/src/CamCaptureSetupViewBase.cpp
camerauis/cameraapp/generic/src/CamInfoListBoxContainer.cpp
camerauis/cameraapp/generic/src/CamNaviCounterModel.cpp
camerauis/cameraapp/generic/src/CamNaviProgressBarModel.cpp
camerauis/cameraapp/generic/src/CamPostCaptureContainer.cpp
camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp
camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp
camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp
camerauis/cameraapp/generic/src/CamSettingsModel.cpp
camerauis/cameraapp/generic/src/CamStillPostCaptureView.cpp
camerauis/cameraapp/generic/src/CamStillPreCaptureView.cpp
camerauis/cameraapp/generic/src/CamUserSceneSetupViewBase.cpp
camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp
camerauis/cameraapp/generic/src/CamVideoPreCaptureContainer.cpp
camerauis/cameraapp/generic/src/CamVideoPreCaptureView.cpp
camerauis/cameraapp/generic/src/audioplayer/camaudioplayerwrapper.cpp
camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp
camerauis/cameraapp/generic/src/camoneclickuploadutility.cpp
camerauis/cameraapp/generic/src/camstartuplogo.cpp
camerauis/cameraapp/generic/src/camstartuplogocontroller.cpp
camerauis/cameraapp/help/data/xhtml.zip
camerauis/cameraapp/help/inc/lcam.hlp.hrh
camerauis/cameraapp/loc/cam.loc
camerauis/cameraapp/rom/cameraapp.iby
package_definition.xml
--- a/camerauis/cameraapp/build/cameraapp.mmp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/build/cameraapp.mmp	Wed Mar 31 21:06:44 2010 +0300
@@ -191,6 +191,8 @@
 SOURCE          CamMemoryMonitor.cpp
 SOURCE 	        cambackupcontainer.cpp
 SOURCE          camsnapshotrotator.cpp
+SOURCE          camstartuplogo.cpp
+SOURCE          camstartuplogocontroller.cpp
 
 // Camera controller sources
 SOURCEPATH      ../generic/src/cameracontroller
--- a/camerauis/cameraapp/build/iconlist.txt	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/build/iconlist.txt	Wed Mar 31 21:06:44 2010 +0300
@@ -161,4 +161,5 @@
 -c8,1 qgn_indi_media_fullscreen_play.svg
 -c8,8 qgn_bg_lcam_vid_postcap_play.svg
 -c8,8 qgn_bg_lcam_vid_postcap_play_pressed.svg
--c8,1 qgn_indi_mg_tb_edit.svg
\ No newline at end of file
+-c8,1 qgn_indi_mg_tb_edit.svg
+-c8,8 qgn_menu_cams.svg
Binary file camerauis/cameraapp/conf/cameraapp.confml has changed
Binary file camerauis/cameraapp/conf/cameraapp_101FFA86.crml has changed
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp	Wed Mar 31 21:06:44 2010 +0300
@@ -57,6 +57,9 @@
 SOURCE              GSCamDefaultNameSettingItem.cpp
 SOURCE              GSCamdefaultnamesettingpage.cpp
 
+SOURCE 	            GSCamCaptureToneSettingItem.cpp
+
+
 SOURCEPATH          ../../common/src
 SOURCE              CamVideoQualityLevel.cpp
 SOURCE              CamStaticSettingsModel.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamCaptureToneSettingItem.h	Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2007 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Setting item for capture tone
+*/
+
+
+#ifndef GSCAMCAPTURETONESETTINGITEM_H_
+#define GSCAMCAPTURETONESETTINGITEM_H_
+
+//  INCLUDES
+#include <aknsettingitemlist.h>
+
+/**
+* Setting item for capture tone selection
+* @since 5.0
+ */
+class CGSCamCaptureToneSettingItem : public CAknEnumeratedTextPopupSettingItem
+    {
+public:
+    // Constructors and destructor
+    /**
+     * C++ constructor
+     * @since 5.0
+     * @param aIdentifier setting page resource id
+     * @param aValue      current name base type
+     */
+    CGSCamCaptureToneSettingItem(TInt aIdentifier,
+            TInt& aValue);
+    
+    /**
+     * Destructor
+     */
+    virtual ~CGSCamCaptureToneSettingItem();
+    
+protected:// Functions from base classes
+    /**
+     *
+     * Virtual method called by framework to complete the construction.  
+     * In this fuction, if the "off" option is disabled in the cenrep,
+     * it is removed from the setting item list (Enumerated List)
+     */
+    void CompleteConstructionL();
+    };
+
+#endif /* CGSCAMCAPTURETONESETTINGITEM_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamCaptureToneSettingItem.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2007 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Setting item for capture tone
+*/
+
+
+// INCLUDE FILES
+#include <centralrepository.h>
+#include "GSCamCaptureToneSettingItem.h"
+#include "camuidconstants.h"
+#include "CamSettings.hrh"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+// ---------------------------------------------------------------------------
+// CGSCamCaptureToneSettingItem::CGSCamCaptureToneSettingItem
+// C++ constructor
+// ---------------------------------------------------------------------------
+//
+CGSCamCaptureToneSettingItem::CGSCamCaptureToneSettingItem(TInt aIdentifier,
+        TInt& aValue) :
+    CAknEnumeratedTextPopupSettingItem(aIdentifier, aValue)
+    {
+
+    }
+
+// ---------------------------------------------------------------------------
+// CGSCamCaptureToneSettingItem::~CGSCamCaptureToneSettingItem
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CGSCamCaptureToneSettingItem::~CGSCamCaptureToneSettingItem()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CGSCamCaptureToneSettingItem::CGSCamCaptureToneSettingItem
+// 
+// ---------------------------------------------------------------------------
+//
+void CGSCamCaptureToneSettingItem::CompleteConstructionL()
+    {
+    CAknEnumeratedTextPopupSettingItem::CompleteConstructionL();
+
+    // get the KCCorEnableCaptureToneOff key value from cenrep
+    CRepository* repository = NULL;
+    TInt shutterSoundEnabled = 0; //by default enabled
+    TRAPD(ret, repository = CRepository::NewL(KCRUidCamcorderFeatures));
+    if (ret == KErrNone)
+        {
+        const TUint32 KCCorShutterSound = 0x00000007;
+        ret = repository->Get(KCCorShutterSound,
+                shutterSoundEnabled);
+        }
+    delete repository;
+    repository = NULL;
+
+    if ( shutterSoundEnabled == 1 )
+        {
+        // if enabled, delete off from the list
+        // if disabled, off option is shown to the user
+        // under capture tone selection menu
+        CArrayPtr<CAknEnumeratedText>
+                * itemArray =
+                        static_cast<CAknEnumeratedTextPopupSettingItem*>(this)->EnumeratedTextArray();
+
+        TInt count = itemArray->Count();
+        
+        for(TInt idx = 0; idx < count; idx++)
+            {
+            TInt value = itemArray->At( idx )->EnumerationValue();
+            if(value == ECamSettToneOff)
+                {
+                itemArray->Delete(idx);
+                }
+            }
+        }
+    }
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsList.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsList.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -27,6 +27,7 @@
 #include <AknWaitDialog.h>
 #include <CAknMemorySelectionSettingItemMultiDrive.h>
 #include <driveinfo.h> // DriveInfo
+#include <AknCommonDialogsDynMem.h>
 
 #include "GSCamcorderPlugin.hrh"
 #include "Cam.hrh"
@@ -46,6 +47,7 @@
 #include "CamWaitDialog.h"
 #include "CamLocationSettingItem.h"
 #include "camconfiguration.h"
+#include "GSCamCaptureToneSettingItem.h"
 
 // ========================= MEMBER FUNCTIONS ================================
 
@@ -201,7 +203,7 @@
      case ECamSettingItemPhotoCaptureTone:
             {
             settingItem = new( ELeave ) 
-                CAknEnumeratedTextPopupSettingItem( aIdentifier, valueId );
+                CGSCamCaptureToneSettingItem( aIdentifier, valueId );    
             }
             break;
 
@@ -227,18 +229,27 @@
             // Convert the setting to a memory enum
             iMemVal = static_cast<DriveInfo::TDefaultDrives>
                     ( CamUtility::MapToSettingsListMemory( valueId ) );
-            __ASSERT_DEBUG( iMemVal != KErrNotFound,
-                            CamPanic( ECamPanicUnhandledCreateSettingItem ) );
-
+            
 		    // Get the root path of the default mass storage memory.
-		    TInt driveInt;
-		    TInt err = DriveInfo::GetDefaultDrive( iMemVal, driveInt );
-		    iDrive = static_cast<TDriveNumber>(driveInt);
-
+		    if(iMemVal != KErrNotFound)
+		        {
+                TInt driveInt;
+		        TInt err = DriveInfo::GetDefaultDrive( iMemVal, driveInt );
+		        iDrive = static_cast<TDriveNumber>(driveInt);
+		        }
+		    else
+		        {
+                iDrive = static_cast<TDriveNumber>(0); //Doesn't matter
+		        }
+		    TInt includedMedias = AknCommonDialogsDynMem::EMemoryTypeMMCExternal |
+                                 AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage;   
 		    settingItem = new ( ELeave ) 
 		                  CAknMemorySelectionSettingItemMultiDrive(
 		                                                      aIdentifier,
-                                                              iDrive );
+                                                              iDrive
+                                                              );
+		    static_cast<CAknMemorySelectionSettingItemMultiDrive*>(settingItem)
+		                        ->SetIncludedMediasL(includedMedias);
             }
             break;
  
@@ -329,6 +340,9 @@
         {
         iMemVal = static_cast<DriveInfo::TDefaultDrives>(CamUtility::GetDriveTypeFromDriveNumber( iDrive ));
         settingValue = CamUtility::MapFromSettingsListMemory( iMemVal );
+        settingValue = ( (settingValue == ECamMediaStoragePhone) && 
+                         parent->IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)  )?
+                                 ECamMediaStorageNone:settingValue;
         }
     else if ( editedItem->Identifier() == ECamSettingItemPhotoQuality )
         {
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamQualitySettingContainer.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamQualitySettingContainer.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -567,20 +567,33 @@
     {
     CFbsBitmap* icon = NULL;
     CFbsBitmap* mask = NULL;
-    if ( iStorageLocation == ECamMediaStoragePhone )
-        {
-        icon = iPhoneIcon;
-        mask = iPhoneIconMask;
-        }
-    else if ( iStorageLocation == ECamMediaStorageMassStorage )
+
+    switch( iStorageLocation )
         {
-        icon = iMassStorageIcon;
-        mask = iMassStorageIconMask;
-        }
-    else
-        {
-        icon = iMMCIcon;
-        mask = iMMCIconMask;
+        case ECamMediaStoragePhone:
+            {
+            icon = iPhoneIcon;
+            mask = iPhoneIconMask;
+            }
+            break;
+        case ECamMediaStorageMassStorage:
+            {
+            icon = iMassStorageIcon;
+            mask = iMassStorageIconMask;
+            }
+            break;            
+        case ECamMediaStorageCard:
+            {
+            icon = iMMCIcon;
+            mask = iMMCIconMask;
+            }
+            break;            
+        case ECamMediaStorageNone:
+        default:
+            {
+            //TODO: Get icons when none is available
+            }
+            break;
         }
 
     iLayoutIcon.DrawImage( aGc, icon, mask );
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamVideoSettingsList.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamVideoSettingsList.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -27,6 +27,7 @@
 #include <AknWaitDialog.h>
 #include <CAknMemorySelectionSettingItemMultiDrive.h>
 #include <driveinfo.h>          // DriveInfo
+#include <AknCommonDialogsDynMem.h>
 
 #include "GSCamcorderPlugin.hrh"
 #include "Cam.hrh"
@@ -227,20 +228,27 @@
             {
             // Convert the setting to a memory enum
             iMemVal = static_cast<DriveInfo::TDefaultDrives>
-                    ( CamUtility::MapToSettingsListMemory( 
-                                  iSettings[lastItem]->iValueId ) );
-
-            __ASSERT_DEBUG( iMemVal != KErrNotFound,
-                            CamPanic( ECamPanicUnhandledCreateSettingItem ) );
-
-		    // Get the root path of the default mass storage memory.
-		    TInt driveInt;
-		    TInt err = DriveInfo::GetDefaultDrive( iMemVal, driveInt );
-		    iDrive = static_cast<TDriveNumber>(driveInt);
-
-		    settingItem = new ( ELeave ) 
-		                  CAknMemorySelectionSettingItemMultiDrive( aIdentifier, 
-                                                                    iDrive );
+                                ( CamUtility::MapToSettingsListMemory( valueId ) );
+            
+            if(iMemVal != KErrNotFound)
+                {
+                TInt driveInt;
+                TInt err = DriveInfo::GetDefaultDrive( iMemVal, driveInt );
+                iDrive = static_cast<TDriveNumber>(driveInt);
+                }
+            else
+                {
+                iDrive = static_cast<TDriveNumber>(0); //Doesn't matter
+                }
+            TInt includedMedias = AknCommonDialogsDynMem::EMemoryTypeMMCExternal |
+                                 AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage;   
+            settingItem = new ( ELeave ) 
+                          CAknMemorySelectionSettingItemMultiDrive(
+                                                              aIdentifier,
+                                                              iDrive
+                                                              );
+            static_cast<CAknMemorySelectionSettingItemMultiDrive*>(settingItem)
+                                            ->SetIncludedMediasL(includedMedias);
             break;
             }
         case ECamSettingItemVideoNameBaseType:
@@ -343,6 +351,9 @@
         {
         iMemVal = static_cast<DriveInfo::TDefaultDrives>(CamUtility::GetDriveTypeFromDriveNumber( iDrive ));
         settingValue = CamUtility::MapFromSettingsListMemory( iMemVal );
+        settingValue = ( (settingValue == ECamMediaStoragePhone) && 
+                         parent->IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)  )?
+                                 ECamMediaStorageNone:settingValue;
         //__ASSERT_DEBUG( settingValue != KErrNotFound, CamPanic( ECamPanicUnknownSettingItem ) );
         }
     else if ( editedItem->Identifier() == ECamSettingItemVideoQuality )
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPlugin.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPlugin.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -548,7 +548,9 @@
               }
           else
               {
-              settingValue = ECamMediaStoragePhone;
+              settingValue = iSettingsModel->IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+                              ECamMediaStorageNone:
+                              ECamMediaStoragePhone;
               }
           }
         return settingValue;
--- a/camerauis/cameraapp/generic/common/data/CamSettings.ra	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/data/CamSettings.ra	Wed Mar 31 21:06:44 2010 +0300
@@ -159,7 +159,6 @@
         };
     }
 
-//ME:START
 RESOURCE CBA R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE_TRANSPARENT
     {
     flags = EEikButtonGroupAddToStack | EEikCbaFlagTransparent;
@@ -182,8 +181,6 @@
             }
         };
     }
-//ME:END
-
 //----------------------------------------------------
 //
 //    R_CAM_SOFTKEYS_OPTIONS_BACK__CAPTURE
@@ -2913,6 +2910,11 @@
             {
             value = ECamSettTone4;
             text = qtn_lcam_set_camera_4;
+            },
+        AVKON_ENUMERATED_TEXT
+            {
+            value = ECamSettToneOff;
+            text = qtn_lcam_shuttersound_off;
             }
         };
     }
--- a/camerauis/cameraapp/generic/common/data/CamSettingsV2.ra	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/data/CamSettingsV2.ra	Wed Mar 31 21:06:44 2010 +0300
@@ -157,8 +157,6 @@
         };
     }
 
-
-//ME:START
 RESOURCE CBA R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE_TRANSPARENT
     {
     flags = EEikButtonGroupAddToStack | EEikCbaFlagTransparent;
@@ -181,8 +179,6 @@
             }
         };
     }
-//ME:END
-
 
 //----------------------------------------------------
 //
@@ -2923,6 +2919,11 @@
             {
             value = ECamSettTone4;
             text = qtn_lcam_set_camera_4;
+            },
+        AVKON_ENUMERATED_TEXT
+            {
+            value = ECamSettToneOff;
+            text = qtn_lcam_shuttersound_off;
             }
         };
     }
--- a/camerauis/cameraapp/generic/common/inc/CamSettings.hrh	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/inc/CamSettings.hrh	Wed Mar 31 21:06:44 2010 +0300
@@ -192,7 +192,8 @@
     ECamSettTone1,
     ECamSettTone2,
     ECamSettTone3,
-    ECamSettTone4
+    ECamSettTone4,
+    ECamSettToneOff
     };
 
 // File name base type settings
--- a/camerauis/cameraapp/generic/common/inc/CamSettingsInternal.hrh	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/inc/CamSettingsInternal.hrh	Wed Mar 31 21:06:44 2010 +0300
@@ -86,6 +86,7 @@
   //Photo and video editor support
   ECamSettingItemPhotoEditorSupport,    // Support for photo editor
   ECamSettingItemVideoEditorSupport,    // Support for video editor
+  ECamSettingItemRemovePhoneMemoryUsage, // Remove phone memory usage
   ECamSettingItemStaticCommonRangeMax,    // Range marker for static common settings
   // -----------------------------------------------------
 
@@ -596,6 +597,7 @@
   (const TUint16* const)_S16("ItemRecLocation"),
   (const TUint16* const)_S16("ItemPhotoEditorSupport"),
   (const TUint16* const)_S16("ItemVideoEditorSupport"),
+  (const TUint16* const)_S16("ItemRemovePhoneMemoryUsage"),
   (const TUint16* const)_S16("ItemStaticCommonRangeMax"),
   // -----------------------------------------------------
   (const TUint16* const)_S16("ItemUserSceneRangeMin"),
--- a/camerauis/cameraapp/generic/common/inc/CameraappPrivateCRKeys.h	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/inc/CameraappPrivateCRKeys.h	Wed Mar 31 21:06:44 2010 +0300
@@ -92,6 +92,9 @@
 const TUint32 KCamCrPhotoEditorSupport = 0x5A;
 const TUint32 KCamCrVideoEditorSupport = 0x5B;
 
+//Remove phone memory usage
+const TUint32 KCamCrRemovePhoneMemoryUsage = 0x5C;
+
 // =========================================================
 // Cameraapp variant settings file
 const TUid KCRUidCameraappVariant = {0x10208A43};
--- a/camerauis/cameraapp/generic/common/src/CamCaptureSetupListBox.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamCaptureSetupListBox.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -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"
@@ -70,9 +70,7 @@
                                                   Rect()
              								      );
     CCamCaptureSetupListItemDrawer* itemDrawer = 
-                                CCamCaptureSetupListItemDrawer::NewL( *model, iSkinnedBackGround );
-    //ME:END
-
+        CCamCaptureSetupListItemDrawer::NewL( *model, iSkinnedBackGround || aLocationSettingListBox );
                                 
     itemDrawer->SetParentControl( aParent );
     // CEikListBox takes ownership before anything can leave.
--- a/camerauis/cameraapp/generic/common/src/CamCaptureSetupListItemDrawer.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamCaptureSetupListItemDrawer.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -54,10 +54,8 @@
 // CONSTANTS
 static const TInt KRadioButtonSelectedIconIndex = 0;
 static const TInt KRadioButtonUnselectedIconIndex = 1;
-//ME:START
 const TUint32 KToolbarExtensionBgColor = 0x00000000;
 const TInt KToolBarExtensionBgAlpha = 0x7F;
-//ME:END
 
 
 // ================= MEMBER FUNCTIONS =======================
@@ -67,13 +65,11 @@
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
 //
-//ME:START
 CCamCaptureSetupListItemDrawer* 
 CCamCaptureSetupListItemDrawer::NewL( MCamListboxModel& aListBoxModel, TBool aFullySkinned )
     {
     CCamCaptureSetupListItemDrawer* self = new( ELeave ) 
                     CCamCaptureSetupListItemDrawer( aListBoxModel, aFullySkinned );               
-//ME:END
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );
@@ -226,8 +222,6 @@
         }
 #endif // RD_UI_TRANSITION_EFFECTS_LIST
     // Draw unhighlighted rectangle that encapsulates the item text and bitmap.
-    
-    //ME:START
     PRINT1( _L("Camera <> CCamCaptureSetupListItemDrawer::DrawActualItem iFullySkinned=%d"), iFullySkinned );
 
     if( iFullySkinned )
@@ -238,8 +232,6 @@
         {
         DrawTransparentItemRect( aActualItemRect );               
         }	
-    //ME:END
-	
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST   
    	if ( transApi )
    	    {
@@ -472,7 +464,6 @@
     }
 
 
-//ME:START
 // ---------------------------------------------------------
 // CCamCaptureSetupListItemDrawer::DrawItemRect
 // Draws a rectangle for an item.
@@ -487,22 +478,13 @@
         if ( control )
             {
             iGc->SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
+            iGc->SetPenSize( TSize( 1, 1 ) );
+            iGc->SetPenStyle( CGraphicsContext::EDottedPen );
             iGc->SetBrushColor( TRgb( KToolbarExtensionBgColor, KToolBarExtensionBgAlpha ) );
             iGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
             iGc->DrawRect( aActualItemRect );            
-            // Reset the brush after use (otherwise anything drawn
-            // after the viewfinder will also show viewfinder frames)    
-            iGc->SetDrawMode( CGraphicsContext::EDrawModePEN );
-            TSize penSize( 1, 1 );
-            iGc->SetPenSize( penSize );
-            iGc->SetPenStyle( CGraphicsContext::EDottedPen );
-            iGc->SetPenColor( KRgbWhite );
-            iGc->SetBrushStyle( CGraphicsContext::ENullBrush );
-            iGc->DrawRect( aActualItemRect );                    
             }
         }
-//ME:END
-
 // ---------------------------------------------------------
 // CCamCaptureSetupListItemDrawer::DrawItemRect
 // Draws a rectangle for an item.
--- a/camerauis/cameraapp/generic/common/src/CamStaticSettingsModel.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamStaticSettingsModel.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -731,6 +731,8 @@
       case ECamSettingItemRecLocation:        crKey = KCamCrPhotoStoreLocation; break;
       case ECamSettingItemPhotoEditorSupport: crKey = KCamCrPhotoEditorSupport; break;
       case ECamSettingItemVideoEditorSupport: crKey = KCamCrVideoEditorSupport; break;
+      case ECamSettingItemRemovePhoneMemoryUsage: crKey = KCamCrRemovePhoneMemoryUsage; break;
+      
       default:                                CamPanic( ECamPanicUnknownSettingItem );
                                               break;
       }
--- a/camerauis/cameraapp/generic/common/src/CamUtility.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/common/src/CamUtility.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -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"
@@ -1029,6 +1029,7 @@
     // Resource ids for User Scene setup items  
     case ECamPsiUserSceneResourceIds:
       {
+      User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_SET_USER_DEFAULT ) );
       User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_SCENEBASE_DATA    ) );
       if ( configManager->IsFlashModeSupported() )
           User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_FLASH_DATA ) );
@@ -1058,9 +1059,7 @@
       
       if ( configManager->IsContrastSupported() )
           User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_CONTRAST_DATA ) );
-      
-      User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_SET_USER_DEFAULT ) ); 
-            
+         
       User::LeaveIfError( aArray.Append( R_CAM_PHOTO_USER_SCENE_SETUP_LIST_RESET_DATA ) );
       break;
       }
--- a/camerauis/cameraapp/generic/data/nhdcamsettings.rss	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/nhdcamsettings.rss	Wed Mar 31 21:06:44 2010 +0300
@@ -1124,7 +1124,7 @@
     flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent;
     items =
         {
-        TBAR_CTRL
+        /*TBAR_CTRL
             {
             type = EAknCtButton;
             id = ECamCmdCaptureImage;
@@ -1143,8 +1143,9 @@
                         }
                     };
                 };
-            },
-        TBAR_CTRL
+            },*/
+        
+         TBAR_CTRL
             {
             type = EAknCtButton;
             id = ECamCmdNewVideo;
@@ -1165,25 +1166,45 @@
                 };
             },
          TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = ECamCmdSwitchCamera;
-            control = AVKON_BUTTON
-                {
-                flags = KAknButtonNoFrame; 
-                states =
-                    {
-                    AVKON_BUTTON_STATE
-                        {
-                        bmpfile = CAMERAAPP_BITMAP_FILE;
-                        bmpid = EMbmCameraappQgn_indi_tb_cam4_goto_main;
-                        bmpmask = EMbmCameraappQgn_indi_tb_cam4_goto_main_mask;
-                        helptxt = qtn_lcam_tt_camera_main;
-                        extension = r_cam_ext_qgn_indi_cam4_mode_camera;
-                        }
-                    };
-                };
-            }
+             {
+             type = EAknCtButton;
+             id = ECamCmdPhotos;
+             control = AVKON_BUTTON
+                 {
+                 flags = KAknButtonNoFrame; 
+                 states =
+                     {
+                     AVKON_BUTTON_STATE
+                         {
+                         bmpfile = CAMERAAPP_BITMAP_FILE;
+                         bmpid = EMbmCameraappQgn_indi_cam4_goto_gallery;
+                         bmpmask = EMbmCameraappQgn_indi_cam4_goto_gallery_mask;
+                         helptxt = qtn_lcam_tt_go_to_photos;
+                         extension = r_cam_ext_qgn_indi_cam4_goto_photos;
+                         }
+                     };
+                 };
+             },   
+         TBAR_CTRL
+             {
+             type = EAknCtButton;
+             id = ECamCmdSwitchCamera;
+             control = AVKON_BUTTON
+                 {
+                 flags = KAknButtonNoFrame; 
+                 states =
+                     {
+                     AVKON_BUTTON_STATE
+                         {
+                         bmpfile = CAMERAAPP_BITMAP_FILE;
+                         bmpid = EMbmCameraappQgn_indi_tb_cam4_goto_main;
+                         bmpmask = EMbmCameraappQgn_indi_tb_cam4_goto_main_mask;
+                         helptxt = qtn_lcam_tt_camera_main;
+                         extension = r_cam_ext_qgn_indi_cam4_mode_camera;
+                         }
+                     };
+                 };
+             }  
         };
     }
 
@@ -1276,7 +1297,7 @@
     flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent;
     items =
         {
-        TBAR_CTRL
+        /*TBAR_CTRL
             {
             type = EAknCtButton;
             id = ECamCmdRecord;
@@ -1295,7 +1316,8 @@
                         }
                     };
                 };
-            },
+            },*/
+                
         TBAR_CTRL
             {
             type = EAknCtButton;
@@ -1316,7 +1338,27 @@
                     };
                 };
             },
-         TBAR_CTRL
+        TBAR_CTRL
+            {
+            type = EAknCtButton;
+            id = ECamCmdPhotos;
+            control = AVKON_BUTTON
+                {
+                flags = KAknButtonNoFrame; 
+                states =
+                    {
+                    AVKON_BUTTON_STATE
+                        {
+                        bmpfile = CAMERAAPP_BITMAP_FILE;
+                        bmpid = EMbmCameraappQgn_indi_cam4_goto_gallery;
+                        bmpmask = EMbmCameraappQgn_indi_cam4_goto_gallery_mask;
+                        helptxt = qtn_lcam_tt_go_to_photos;
+                        extension = r_cam_ext_qgn_indi_cam4_goto_photos;
+                        }
+                    };
+                };
+            },   
+        TBAR_CTRL
             {
             type = EAknCtButton;
             id = ECamCmdSwitchCamera;
@@ -1335,7 +1377,7 @@
                         }
                     };
                 };
-            }
+            }  
         };
     }
      
@@ -1357,6 +1399,26 @@
         TBAR_CTRL
             {
             type = EAknCtButton;
+            id = ECamCmdNewVideo;
+            control = AVKON_BUTTON
+                {
+                flags = KAknButtonNoFrame;
+                states =
+                    {
+                    AVKON_BUTTON_STATE
+                        {
+                        bmpfile = CAMERAAPP_BITMAP_FILE;
+                        bmpid = EMbmCameraappQgn_indi_cam4_video;
+                        bmpmask = EMbmCameraappQgn_indi_cam4_video_mask;
+                        helptxt = qtn_lcam_tt_video_mode;
+                        extension = r_cam_ext_qgn_indi_cam4_video;
+                        }
+                    };
+                };
+            },
+        /*TBAR_CTRL
+            {
+            type = EAknCtButton;
             id = ECamCmdCaptureImage;
             control = AVKON_BUTTON
                 {
@@ -1373,7 +1435,7 @@
                         }
                     };
                 };
-            },
+            },*/    
         TBAR_CTRL
             {
             type = EAknCtButton;
@@ -1619,7 +1681,7 @@
                                     }
                                 };
                             };
-                        },
+                        }/*,
                         TBAR_CTRL
                         {
                         type = EAknCtButton;
@@ -1639,7 +1701,7 @@
                                     }
                                 };
                             };
-                        }                        
+                        }*/                        
                     };
                 };
             }
@@ -2232,6 +2294,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; 
+                        helptxt = qtn_lcam_tt_still_mode;
+                        extension = r_cam_ext_qgn_indi_cam4_camera;
+                        }
+                    };
+                };
+            },        
+        /*TBAR_CTRL
+            {
+            type = EAknCtButton;
             id = ECamCmdRecord;
             control = AVKON_BUTTON
                 {
@@ -2248,7 +2330,7 @@
                         }
                     };
                 };
-            },
+            },*/
         TBAR_CTRL
             {
             type = EAknCtButton;
@@ -2365,7 +2447,7 @@
                                     }
                                 };
                             };
-                        },
+                        }/*,
                     TBAR_CTRL
                         {
                         type = EAknCtButton;
@@ -2385,7 +2467,7 @@
                                     }
                                 };
                             };
-                        }                        
+                        }*/                        
                     };
                 };
             }
@@ -2409,6 +2491,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; 
+                        helptxt = qtn_lcam_tt_still_mode;
+                        extension = r_cam_ext_qgn_indi_cam4_camera;
+                        }
+                    };
+                };
+            },        
+        /*TBAR_CTRL
+            {
+            type = EAknCtButton;
             id = ECamCmdRecord;
             control = AVKON_BUTTON
                 {
@@ -2425,7 +2527,7 @@
                         }
                     };
                 };
-            },
+            },*/
         TBAR_CTRL
             {
             type = EAknCtButton;
@@ -2438,7 +2540,7 @@
                     AVKON_BUTTON_STATE
                         {
                         //txt = qtn_lcam_tb_scenes;
-			helptxt = qtn_lcam_tt_goto_scenemode_settings;
+                        helptxt = qtn_lcam_tt_goto_scenemode_settings;
                         }
                     };
                 };
@@ -2523,7 +2625,7 @@
                                     }
                                 };
                             };
-                        },
+                        }/*,
                     TBAR_CTRL
                         {
                         type = EAknCtButton;
@@ -2543,7 +2645,7 @@
                                     }
                                 };
                             };
-                        }                        
+                        }*/                        
                     };
                 };
             }
--- a/camerauis/cameraapp/generic/data/resource_inc/CamStandby.ra	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamStandby.ra	Wed Mar 31 21:06:44 2010 +0300
@@ -43,7 +43,35 @@
      {
      buf = qtn_lcam_standby_hardware_failure;
      }
-     
+
+//----------------------------------------------------
+//   
+//    r_cam_standby_camera_storage_inaccessible
+//    Text string displayed in standby container
+//    when all storages are inacessible/not ready
+//
+//----------------------------------------------------
+//
+RESOURCE TBUF r_cam_standby_camera_storage_inaccessible
+     {
+     buf = qtn_lcam_storage_inaccessible_note;
+     }
+
+//----------------------------------------------------
+//   
+//    r_cam_standby_camera_insert_mmc
+//    When a device has no mass memory and memory card is not 
+//    inserted when opening the camera, the user will get a note
+//
+//----------------------------------------------------
+//
+RESOURCE TBUF r_cam_standby_camera_insert_mmc
+     {
+     buf = qtn_lcam_insert_mmc_note;
+     }
+
+
+
 //----------------------------------------------------
 //   
 //    r_cam_standby_empty_text
--- a/camerauis/cameraapp/generic/data/resource_inc/CamStillCapture.ra	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamStillCapture.ra	Wed Mar 31 21:06:44 2010 +0300
@@ -194,6 +194,29 @@
     
 //----------------------------------------------------
 //   
+//    r_cam_set_as_call_image_interest_editor
+//    This resource is used to register an interest in 
+//    Set as contact call image Application InterWork (AIW)
+//    with Photos editor.
+//
+//----------------------------------------------------
+//
+RESOURCE AIW_INTEREST r_cam_set_as_call_image_interest_editor
+    {
+    items = 
+        {
+        AIW_CRITERIA_ITEM  
+            {
+            id = KAiwCmdAssign;
+            serviceCmd = KAiwCmdAssign;
+            contentType = "MediaEditor/*";
+            serviceClass = KAiwClassMenu;
+            }
+        };
+    }
+
+//----------------------------------------------------
+//   
 //    r_cam_set_as_call_image_interest
 //    This resource is used to register an interest in 
 //    Set as contact call image Application InterWork (AIW)
--- a/camerauis/cameraapp/generic/data/resource_inc/CamStillCaptureV2.ra	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamStillCaptureV2.ra	Wed Mar 31 21:06:44 2010 +0300
@@ -194,6 +194,29 @@
     
 //----------------------------------------------------
 //   
+//    r_cam_set_as_call_image_interest_editor
+//    This resource is used to register an interest in 
+//    Set as contact call image Application InterWork (AIW)
+//    with Photos editor
+//
+//----------------------------------------------------
+//
+RESOURCE AIW_INTEREST r_cam_set_as_call_image_interest_editor
+    {
+    items = 
+        {
+        AIW_CRITERIA_ITEM  
+            {
+            id = KAiwCmdAssign;
+            serviceCmd = KAiwCmdAssign;
+            contentType = "MediaEditor/*";
+            serviceClass = KAiwClassMenu;
+            }
+        };
+    }
+
+//----------------------------------------------------
+//   
 //    r_cam_set_as_call_image_interest
 //    This resource is used to register an interest in 
 //    Set as contact call image Application InterWork (AIW)
--- a/camerauis/cameraapp/generic/data/resource_inc/CamVideoCapture.ra	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamVideoCapture.ra	Wed Mar 31 21:06:44 2010 +0300
@@ -341,3 +341,29 @@
             }
         };
     }
+
+//----------------------------------------------------
+//   
+//    r_cam_set_as_ring_tone_interest_editor
+//    This resource is used to register an interest in 
+//    assinging video to Application InterWork (AIW)
+//    services with Photos editor
+//
+//----------------------------------------------------
+//
+RESOURCE AIW_INTEREST r_cam_set_as_ring_tone_interest_editor
+    {
+    items = 
+        {
+        AIW_CRITERIA_ITEM   // 
+            {
+            id = KAiwCmdAssign;
+            serviceCmd = KAiwCmdAssign;        
+            contentType = "MediaEditor/*";
+            serviceClass = KAiwClassMenu; 
+            //maxProviders = 1;         
+            loadOptions = AIW_OPTIONS_ROM_ONLY;         
+            //defaultProvider = 0x10281F18;       
+            }
+        };
+    }
--- a/camerauis/cameraapp/generic/data/resource_inc/CamVideoCaptureV2.ra	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/data/resource_inc/CamVideoCaptureV2.ra	Wed Mar 31 21:06:44 2010 +0300
@@ -341,3 +341,29 @@
             }
         };
     }
+
+//----------------------------------------------------
+//   
+//    r_cam_set_as_ring_tone_interest_editor
+//    This resource is used to register an interest in 
+//    assinging video to Application InterWork (AIW)
+//    services with Photos editor
+//
+//----------------------------------------------------
+//
+RESOURCE AIW_INTEREST r_cam_set_as_ring_tone_interest_editor
+    {
+    items = 
+        {
+        AIW_CRITERIA_ITEM   // 
+            {
+            id = KAiwCmdAssign;
+            serviceCmd = KAiwCmdAssign;        
+            contentType = "MediaEditor/*";
+            serviceClass = KAiwClassMenu; 
+            //maxProviders = 1;         
+            loadOptions = AIW_OPTIONS_ROM_ONLY;         
+            //defaultProvider = 0x10281F18;       
+            }
+        };
+    }
--- a/camerauis/cameraapp/generic/inc/CamAppUi.h	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/inc/CamAppUi.h	Wed Mar 31 21:06:44 2010 +0300
@@ -68,6 +68,8 @@
 class CCamStillPreCaptureView;
 class CCamVideoPreCaptureView;
 class CCamMemoryMonitor;
+class CCamStartupLogoController;
+
 
 // ===========================================================================
 // CLASS DECLARATION
@@ -1014,9 +1016,14 @@
         * @return ETrue if memory available for capturing
         **/
         TBool IsMemoryAvailableForCapturing() const;
-        
 
-            
+        /**
+        * Get a pointer to the startup logo controller.
+        * AppUi keeps ownership.
+        * @return Pointer to CCamStartupLogoController or NULL.
+        */
+        CCamStartupLogoController* StartupLogoController();
+
     private: // New functions
 
       /**
@@ -1805,6 +1812,8 @@
         TInt iPortraitScreenMode;
         
         TBool iMemoryAvailableForCapturing;
+
+        CCamStartupLogoController* iStartupLogoController;
         };
 
 // ===========================================================================
--- a/camerauis/cameraapp/generic/inc/CamInfoListBoxContainer.h	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/inc/CamInfoListBoxContainer.h	Wed Mar 31 21:06:44 2010 +0300
@@ -75,8 +75,6 @@
                                                  TInt aTitleResource,
                                                  TBool aSkinnedBackGround = ETrue );
         
-        //ME:END
-
 
         /**
         * Destructor.
--- a/camerauis/cameraapp/generic/inc/CamPreCaptureContainerBase.h	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/inc/CamPreCaptureContainerBase.h	Wed Mar 31 21:06:44 2010 +0300
@@ -45,7 +45,7 @@
 class CCamIndicator;
 class CCamTimeLapseSlider;
 class MCamVfGridDrawer;
-
+class CCamStartupLogo;
 
 
 // ===========================================================================
@@ -731,6 +731,9 @@
     CPeriodic* iIndBlinkTimer;
     TBool iDrawIndicator;
     TInt iToggleCountdown;
+
+    // Startup animation control
+    CCamStartupLogo* iStartupLogo;
   // =========================================================================
   };
     
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/camstartuplogo.h	Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  CCoeControl to show a logo at camera application startup
+*
+*/
+
+#ifndef CAMSTARTUPLOGO_H
+#define CAMSTARTUPLOGO_H
+
+#include <e32std.h>
+#include <coecntrl.h>
+
+#include "camstartuplogocontroller.h"
+
+class CFbsBitmap;
+class CPeriodic;
+
+
+// Class declaration
+/**
+ *  CCoeControl to show a logo at camera application startup
+ */
+class CCamStartupLogo : public CCoeControl,
+                        public MCamStartupLogoControllerObserver
+{
+public:
+    static CCamStartupLogo* NewL(CCamStartupLogoController& aController,
+                                 const TRect& aRect);
+    virtual ~CCamStartupLogo();
+
+private:
+    CCamStartupLogo(CCamStartupLogoController& aController,
+                    const TRect& aRect);
+    void ConstructL();
+
+    void ShowL();
+    void Hide();
+
+    void Draw(const TRect& aRect) const;
+
+    void StartupLogoControllerStateChanged(TStartupLogoState aNewState);
+
+private: //data
+    CFbsBitmap* iLogo;     // own
+    CFbsBitmap* iLogoMask; // own
+
+    TRect iRect;
+
+    TBool iWindowCreated;
+    
+    CCamStartupLogoController& iController; 
+};
+
+#endif // CAMSTARTUPLOGO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/camstartuplogocontroller.h	Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Controller for managing the camera startup logo state
+*
+*/
+
+#ifndef CAMSTARTUPLOGOCONTROLLER_H
+#define CAMSTARTUPLOGOCONTROLLER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+enum TStartupLogoState
+    {
+    EStartupLogoNotVisible,
+    EStartupLogoVisible
+    };
+
+// CLASS DECLARATION
+
+/**
+ *  Observer interface for listening to controller state change events
+ * 
+ */
+class MCamStartupLogoControllerObserver
+    {
+public:
+    virtual ~MCamStartupLogoControllerObserver() {}
+
+    /**
+     * Startup logo controller state changed.
+     */
+    virtual void StartupLogoControllerStateChanged(TStartupLogoState aNewState) = 0;
+    };
+
+
+
+/**
+ *  Controller for managing the camera startup logo state
+ * 
+ */
+class CCamStartupLogoController : public CBase
+    {
+
+public:
+    // Constructors and destructor
+
+    /**
+     * Destructor.
+     */
+    virtual ~CCamStartupLogoController();
+
+    /**
+     * Two-phased constructor.
+     */
+    static CCamStartupLogoController* NewL(TStartupLogoState aInitialState);
+
+    /**
+     * Two-phased constructor.
+     */
+    static CCamStartupLogoController* NewLC(TStartupLogoState aInitialState);
+
+public:
+    /**
+     * Add an observer. Returns an error code.
+     */
+    TInt AddObserver(MCamStartupLogoControllerObserver* aObserver);
+
+    /**
+     * Removes an observer.
+     */
+    void RemoveObserver(MCamStartupLogoControllerObserver* aObserver);
+
+    /**
+     * Get current state.
+     */
+    TStartupLogoState State() const;
+
+    /**
+     * Show startup logo.
+     */
+    void ShowLogo();
+
+    /**
+     * Hide startup logo.
+     */
+    void HideLogo();
+
+private:
+
+    /**
+     * Constructor for performing 1st stage construction
+     */
+    CCamStartupLogoController(TStartupLogoState aInitialState);
+
+    /**
+     * Symbian default constructor for performing 2nd stage construction
+     */
+    void ConstructL();
+
+    static TInt FailSafeCallback(TAny* ptr);
+
+private:
+    void SetState(TStartupLogoState aNewState);
+
+private: // data
+    TStartupLogoState iState;
+    RPointerArray<MCamStartupLogoControllerObserver> iObservers;
+    CPeriodic* iFailSafeTimer; // own
+    };
+
+#endif // CAMSTARTUPLOGOCONTROLLER_H
--- a/camerauis/cameraapp/generic/src/CamAppController.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamAppController.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -2225,7 +2225,7 @@
    && ECamCompleting  != CurrentOperation() )
     {  
     // If we are currently focused, cancel autofocus
-    if ( IsViewFinding() && CurrentOperation() != ECamCapturing ) // Cannot do AF operations if VF not on. AF is anyway cancelled on VF start event.
+    if ( IsViewFinding() && CurrentOperation() != ECamCapturing && !InCallOrRinging() ) // Cannot do AF operations if VF not on. AF is anyway cancelled on VF start event.
       {
       if( ECamFocusing == CurrentOperation() )
         {
@@ -3143,9 +3143,9 @@
                 }
             else
                 {
-                PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot off" ) );
+                PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot on" ) );
                 aSequence.Append( ECamRequestSsRelease );
-                aSequence.Append( ECamRequestSsStop );
+                aSequence.Append( ECamRequestSsStart ); // SS is requested and delivered to tn-manager, but not shown on display
                 }
             }
         }
@@ -3186,9 +3186,9 @@
               }
           else
               {
-              PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot off" ) );
+              PRINT( _L( "Camera <> CCamAppController::GenerateModeChangeSequenceL: Snapshot on" ) );
               aSequence.Append( ECamRequestSsRelease );
-              aSequence.Append( ECamRequestSsStop );
+              aSequence.Append( ECamRequestSsStart );
               }
           }
       break;
@@ -3299,11 +3299,16 @@
         }
     else
         {        
+        TCamMediaStorage storage = iSettingModel->
+                                    IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
+                                    ECamMediaStorageNone:
+                                    ECamMediaStoragePhone;
+
         iSettingsModel->SetIntegerSettingValueL( ECamSettingItemPhotoMediaStorage, 
-                                             ECamMediaStoragePhone );
+                                                    storage );
         
         iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage, 
-                                             ECamMediaStoragePhone );
+                                                    storage );
         }
 
 #endif // PRODUCT_SUPPORTS_FORCE_MEDIA_STORAGE_VALUE
@@ -3512,7 +3517,9 @@
       }
     else
       {
-      storageLocation = ECamMediaStoragePhone;
+      storageLocation = IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage)? 
+                          ECamMediaStorageNone:
+                          ECamMediaStoragePhone;
       }
     }
   return storageLocation;
@@ -5698,7 +5705,9 @@
     else
       {
       PRINT( _L("Camera <> Force ECamMediaStoragePhone") );
-      store = ECamMediaStoragePhone;
+      store = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+                  ECamMediaStorageNone:
+                  ECamMediaStoragePhone;
       }
     }
 
@@ -6942,8 +6951,11 @@
     else
       {
       PRINT( _L("Camera <> Force ECamMediaStoragePhone") );
-      iForcedStorageLocation = ECamMediaStoragePhone;
-      SetPathnamesToNewStorageL( ECamMediaStoragePhone );
+      TCamMediaStorage storage = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+                                  ECamMediaStorageNone:
+                                  ECamMediaStoragePhone;
+      iForcedStorageLocation = storage;
+      SetPathnamesToNewStorageL( storage );
       }
 		}
 	// Revert back to memory card, if aEnable is EFalse
@@ -8302,6 +8314,14 @@
     TInt value;
     User::LeaveIfError( cr->Get( KProEngActiveWarningTones, value ) );
     CleanupStack::PopAndDestroy( cr );
+    
+    //In case the phone variant allows turning camera tones off,
+    // first check if that is the case here.
+    if ( iSettingsModel->IntegerSettingValue( ECamSettingItemPhotoCaptureTone )
+            == ECamSettToneOff )
+        {
+        return ETrue;
+        }
 
     return ( value == 0 );
     }
@@ -8896,6 +8916,7 @@
       if( iSettingsRestoreNeeded )
         {
         iSettingsRestoreNeeded = EFalse;  
+        TRAP_IGNORE( iCameraController->DirectSettingsChangeL( ECameraSettingFacetracking ) );
         TRAP( aStatus, RestoreSettingsToCameraL() );  
         }
       // fixed toolbar is used only with touch devices
@@ -8928,6 +8949,8 @@
                 }
             }
         }
+      //Check if profile is silent and/or camera tones are set off
+      IsProfileSilent();
 
       break;
       }
@@ -9333,10 +9356,13 @@
         }
     else
         {
+        TCamMediaStorage storage = IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+                                ECamMediaStorageNone:
+                                ECamMediaStoragePhone;
         TRAP_IGNORE( 
            {
            iSettingsModel->SetIntegerSettingValueL( ECamSettingItemVideoMediaStorage, 
-                                                    ECamMediaStoragePhone );
+                                                       storage );
            GenerateNextValidVideoPathL();
            });       
         
@@ -9798,7 +9824,11 @@
                     !iCaptureRequested && appUi &&	appUi->SelfTimer() && 
                     !appUi->SelfTimer()->IsActive())
                     {
-                    PlaySound( ECamAutoFocusComplete, EFalse );
+                    if ( !iSilentProfile || iShutterSndAlwaysOn  )
+                        {
+                        // Play only if camera tones are not set off
+                        PlaySound(ECamAutoFocusComplete, EFalse);
+                        }
                     }
                 SetOperation( ECamFocused );
 	            }    
--- a/camerauis/cameraapp/generic/src/CamAppui.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamAppui.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  App UI class for cameraapp
- *
+*
 */
 
 
@@ -114,6 +114,7 @@
 
 #include "camflashstatus.h"
 #include "CamMemoryMonitor.h"
+#include "camstartuplogocontroller.h"
 
 
 
@@ -163,6 +164,8 @@
         iMemoryMonitor = 0;
         }
 
+    delete iStartupLogoController;
+
     iController.SetAppUiAvailable( EFalse );
 
     iResourceLoaders.Close();
@@ -651,6 +654,10 @@
     }
   iMemoryMonitor->StartMonitoring( iController.UiConfigManagerPtr()->CriticalLevelRamMemoryFocusGained(),
                                    iController.UiConfigManagerPtr()->RequiredRamMemoryFocusGained() );
+
+  // TRAP errors so camera starts up even if startup animation fails
+  TRAP_IGNORE(iStartupLogoController = CCamStartupLogoController::NewL(EStartupLogoVisible));
+
   PRINT( _L("Camera <= CCamAppUi::ConstructL") )
   OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP3_CCAMAPPUI_CONSTRUCTL, "e_CCamAppUi_ConstructL 0" );
   }
@@ -1801,10 +1808,6 @@
 
                  iCamSidePane->UpdateLayout();          
                  iTargetViewState = ECamViewStatePreCapture;
-                 delete iScreenClearer;
-                 iScreenClearer = NULL;
-                 iScreenClearer = CAknLocalScreenClearer::NewL( 
-                              IsSecondCameraEnabled() || IsQwerty2ndCamera() );
                  TrySwitchViewL( ETrue );
                  iController.SwitchCameraL();       
                  }
@@ -2646,7 +2649,12 @@
     if( ECamViewStateStandby != iViewState )
       {
       DismissMemoryNoteL();  
-    
+
+      if (iStartupLogoController)
+          {
+          iStartupLogoController->HideLogo();
+          }
+
       if( IsInternalView( iViewState ) )
         {
          
@@ -2679,7 +2687,10 @@
               }
             else
               {    
-              static_cast<CCamViewBase*>( iView )->ExitAllModesL();
+              if( iView)
+                  {
+                  static_cast<CCamViewBase*>( iView )->ExitAllModesL();
+                  }
               }
              
             }
@@ -2939,7 +2950,12 @@
               }
     #endif
             }
-    
+
+          if (iStartupLogoController)
+            {
+            iStartupLogoController->HideLogo();
+            }
+
           if( AppInBackground(EFalse) || ( !CamUtility::IsBatteryPowerOK() && 
                                            !CamUtility::IsBatteryCharging() ) )
             {
@@ -3236,7 +3252,6 @@
               iController.CheckMemoryToUseL();
               }
                     
-          TBool returningFromPretendExit = iPretendExit;
           iPretendExit = EFalse; 
                  
           TCamViewSwitch switchNeeded = ECamViewSwitchNone;               
@@ -3327,6 +3342,11 @@
                      }
                  }
               }
+
+          if (iStartupLogoController && iReturningFromPretendExit)
+              {
+              iStartupLogoController->ShowLogo();
+              }
           break;
           }
         // -----------------------------------------------------
@@ -4369,20 +4389,19 @@
                                 iController.IntegerSettingValue( key ) );
                     }
                 if(currentLocation != ECamMediaStoragePhone && 
-                    !IsMemoryFullOrUnavailable(ECamMediaStoragePhone))
-                    {
-                    supportedMemTypes |= 
-                        AknCommonDialogsDynMem::EMemoryTypePhone;
-                    }
-                if(currentLocation != ECamMediaStorageCard && 
-                    !IsMemoryFullOrUnavailable(ECamMediaStorageCard))
-                    {
-                    supportedMemTypes |= 
-                        AknCommonDialogsDynMem::EMemoryTypeMMCExternal;
-                    }
-                if(currentLocation != ECamMediaStorageMassStorage && 
-                    !IsMemoryFullOrUnavailable(ECamMediaStorageMassStorage))
-                    {
+				!IsMemoryFullOrUnavailable(ECamMediaStoragePhone) &&
+				!iController.IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage ) )
+				{
+				supportedMemTypes |= AknCommonDialogsDynMem::EMemoryTypePhone;
+				}
+			if(currentLocation != ECamMediaStorageCard && 
+				!IsMemoryFullOrUnavailable(ECamMediaStorageCard))
+				{
+				supportedMemTypes |= AknCommonDialogsDynMem::EMemoryTypeMMCExternal;
+				}
+			if(currentLocation != ECamMediaStorageMassStorage && 
+				!IsMemoryFullOrUnavailable(ECamMediaStorageMassStorage))
+				{
                     supportedMemTypes |= 
                         AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage;
                     }
@@ -5312,6 +5331,11 @@
         iViewFinderStopped = ETrue;        
         } 
  
+    if ( iStartupLogoController )
+        {
+        iStartupLogoController->ShowLogo();
+        }
+
     PRINT( _L("Camera <= CCamAppUi::InternalExitL") );
     OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP_CCAMAPPUI_INTERNALEXITL, "e_CCamAppUi_InternalExitL 0" );
     
@@ -8315,7 +8339,10 @@
 //
 TBool CCamAppUi::AllMemoriesFullOrUnavailable() const
 	{
-	return ( IsMemoryFullOrUnavailable(ECamMediaStoragePhone) &&
+	TBool phoneMemoryUnavailable = iController.IntegerSettingValue(ECamSettingItemRemovePhoneMemoryUsage)?
+                                    ETrue:
+                                    IsMemoryFullOrUnavailable(ECamMediaStoragePhone);
+    return ( phoneMemoryUnavailable &&
 		   IsMemoryFullOrUnavailable(ECamMediaStorageCard) &&
 		   IsMemoryFullOrUnavailable(ECamMediaStorageMassStorage) );
 	}
@@ -8476,6 +8503,11 @@
 void CCamAppUi::SetViewFinderStoppedStatus( TBool aViewFinderStopped )
     {
     iViewFinderStopped = aViewFinderStopped;
+
+    if (iStartupLogoController)
+        {
+        iStartupLogoController->HideLogo();
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -8500,9 +8532,8 @@
 // CCamAppUi::CheckMemoryAvailableForCapturing
 // -----------------------------------------------------------------------------
 //
-void 
-CCamAppUi::CheckMemoryAvailableForCapturing()
-	{
+void CCamAppUi::CheckMemoryAvailableForCapturing()
+    {
     PRINT( _L("Camera => CCamAppUi::CheckMemoryAvailableForCapturing") )
     OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, CCAMAPPUI_CHECKMEMORYAVAILABLEFORCAPTURING, "e_CCamAppUi_CheckMemoryAvailableForCapturing 1" );
     if ( ( ECamControllerVideo == iController.CurrentMode() ||
@@ -8523,11 +8554,19 @@
 // -----------------------------------------------------------------------------
 // CCamAppUi::IsMemoryAvailableForCapturing
 // -----------------------------------------------------------------------------
-//    
-TBool 
-CCamAppUi::IsMemoryAvailableForCapturing() const
+//
+TBool CCamAppUi::IsMemoryAvailableForCapturing() const
     {
     return iMemoryAvailableForCapturing;
     }
-        
+
+// -----------------------------------------------------------------------------
+// CCamAppUi::StartupLogoController
+// -----------------------------------------------------------------------------
+//
+CCamStartupLogoController* CCamAppUi::StartupLogoController()
+    {
+    return iStartupLogoController;
+    }
+
 //  End of File
--- a/camerauis/cameraapp/generic/src/CamBurstThumbnailView.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamBurstThumbnailView.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -715,8 +715,18 @@
     // initialise AIW services for touch menu
     iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU, 
                                      R_CAM_MOVE_TO_STILL_IMAGE_SEQUENCE_INTEREST );
-    iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU, 
-            R_CAM_SET_AS_CALL_IMAGE_INTEREST );
+    
+    if ( iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport) )
+        {    
+        iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU, 
+                R_CAM_SET_AS_CALL_IMAGE_INTEREST_EDITOR );
+        }
+    else
+        {
+        iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU, 
+                    R_CAM_SET_AS_CALL_IMAGE_INTEREST );
+        }
+
     iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU, 
             R_CAM_SHARE_ON_OVI_INTEREST );
     // SHARE_AIW
--- a/camerauis/cameraapp/generic/src/CamCaptureSetupSlider.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamCaptureSetupSlider.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -325,7 +325,6 @@
     CCamCaptureSetupSlider* self = 
         new( ELeave ) CCamCaptureSetupSlider( aObserver, aSettingItem, aSteps,
                 aFullySkinned );
-    //ME:END    
     CleanupStack::PushL( self );
     self->ConstructL( aParent );
     CleanupStack::Pop( self );
@@ -643,7 +642,7 @@
         {
         // Set the shaft layout and icon size for Contrast slider
         iShaftLayout.LayoutRect( sliderRect, 
-                              AknLayoutScalable_Apps::cset_slider_pane( 5 )  );
+                              AknLayoutScalable_Apps::cset_slider_pane( 7 )  );
         // set Contrast slider legend layouts      
         TouchContrastLayoutL( sliderRect ); 
         }   
@@ -1001,7 +1000,7 @@
 //
 void CCamCaptureSetupSlider::HandlePointerEventL(const TPointerEvent& aPointerEvent)
     {   
-    if(!Rect().Contains(aPointerEvent.iPosition))
+    if( !Rect().Contains(aPointerEvent.iPosition) && iBitmapThumbCurrent != iBitmapThumbSelected )
         {
         return;
         }
--- a/camerauis/cameraapp/generic/src/CamCaptureSetupViewBase.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamCaptureSetupViewBase.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -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"
@@ -160,6 +160,7 @@
                 }
             else if ( iInfoListBoxActive )
                 {
+                iController.CancelPreviewChangesL();
                 ExitAllModesL();
                 break;
                 }
@@ -684,6 +685,7 @@
     
     appUi->SetToolbarVisibility();
     
+    iForceAvkonCBA = ETrue;
     UpdateCbaL();
     SetTitlePaneTextL();
     appUi->PushDefaultNaviPaneL();
@@ -843,11 +845,11 @@
 //
 void CCamCaptureSetupViewBase::ExitSceneSettingModeL()
     {   
-	PRINT( _L( "Camera => CCamCaptureSetupViewBase::ExitSceneSettingModeL" ) );
-    
+    PRINT( _L( "Camera => CCamCaptureSetupViewBase::ExitSceneSettingModeL" ) );
+    iForceAvkonCBA = EFalse;
     if ( !iSceneSettingModeActive )
-		{
-	   	AppUi()->RemoveFromStack( iSceneSettingContainer );  
+        {
+        AppUi()->RemoveFromStack( iSceneSettingContainer );  
 		
         if ( iSceneSettingContainer )
         	{
@@ -919,6 +921,7 @@
     // Cleanup the view correctly if a leave occurs
     CleanupStack::PushL( TCleanupItem( CleanupExit, this ) );
     AppUi()->AddToStackL( *this, iContainer );
+    iController.SetViewfinderWindowHandle( &iContainer->Window() );
   	PRINT( _L( "Camera => CCamCaptureSetupViewBase::ExitInfoListBoxL removing iInfoListBoxContainer" ) );
     AppUi()->RemoveFromStack( iInfoListBoxContainer );
     delete iInfoListBoxContainer;
--- a/camerauis/cameraapp/generic/src/CamInfoListBoxContainer.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamInfoListBoxContainer.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -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"
@@ -246,8 +246,8 @@
         iFeedback->SetFeedbackArea( iListBox, 0, iListBox->Rect(), 
                                   ETouchFeedbackBasic, ETouchEventStylusDown );
         }
-
-	PRINT(_L("Camera <= CCamInfoListBoxContainer::ConstructL") )    
+    iController.SetViewfinderWindowHandle( &Window() );
+    PRINT(_L("Camera <= CCamInfoListBoxContainer::ConstructL") )    
     }
    
 // ---------------------------------------------------------------------------
@@ -468,11 +468,18 @@
             aPointerEvent.iType,
             aPointerEvent.iPosition.iX,
             aPointerEvent.iPosition.iY );
-    iListBox->HandlePointerEventL(aPointerEvent);
+  
     if( !iController.IsViewFinding() && !iSkinnedBackGround )
         {
-        ReserveAndStartVF();        
+        PRINT ( _L("Camera <> CCamInfoListBoxContainer::HandlePointerEventL  start viewfinder") );
+        ReserveAndStartVF();
         }
+    else
+        {
+        PRINT ( _L("Camera <> CCamInfoListBoxContainer::HandlePointerEventL  handle selected item") );
+        iListBox->HandlePointerEventL(aPointerEvent);
+        }
+
     /*TInt oldListItemIndex = -1;
     TInt newListItemIndex = -1;
     TBool handleItemActivation = EFalse;
@@ -581,6 +588,8 @@
         case EEventItemClicked:
         case EEventItemSingleClicked:
             {
+            TInt settingValue = CurrentSettingItemValue();
+            iController.PreviewSettingChangeL( ECamSettingItemDynamicPhotoLightSensitivity, settingValue );
             ShowTooltipL();
             }
             break;
@@ -607,7 +616,13 @@
         iTooltipController->HideInfoPopupNote();
 
         iTooltipController->SetTextL( *iDescArray[iListBox->CurrentItemIndex()] );     
-        iTooltipController->SetPositionByHighlight( iListBox->HighlightRect() );
+        TRect hl = iListBox->HighlightRect();
+        TPoint tt = hl.Center();
+        if ( AknLayoutUtils::LayoutMirrored() )
+            {
+            tt.iX -= hl.Width();
+            }
+        iTooltipController->SetPositionAndAlignment( tt, EHLeftVBottom ); 
         
         iTooltipIndex = iListBox->CurrentItemIndex();
         }
@@ -704,21 +719,14 @@
         }
     else
         {
-        iListboxLayoutRect.LayoutRect( wholeListboxLayoutRect.Rect(), 
-                            AknLayoutScalable_Apps::main_cset_list_pane( 1 ) ); 
+        iListboxLayoutRect.LayoutRect( iLayoutAreaRect, 
+              AknLayoutScalable_Apps::main_cset_listscroll_pane( 2 ) ); //Same as WB
         }
- 
-    if( !iSkinnedBackGround )
-        {
-        iTitleTextRectLayout.LayoutText( iLayoutAreaRect,  AknLayoutScalable_Apps::main_cset_text_pane_t1( 0 ) );
-        }    
-    else
-        {    
+   
     iTitleTextRectLayout.LayoutText( iLayoutAreaRect, 
                            AknLayoutScalable_Apps::main_cam_set_pane_t1( 3 ) );
-        }
     
-    return wholeListboxLayoutRect.Rect();
+    return iListboxLayoutRect.Rect();
     }
 
 // --------------------------------------------------------------------------
--- a/camerauis/cameraapp/generic/src/CamNaviCounterModel.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamNaviCounterModel.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -537,7 +537,11 @@
     
   if (ECamMediaStorageMassStorage ==iStorageLocation)
    {
-   iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:ECamMediaStoragePhone;
+   iStorageLocation = iController.ExistMassStorage()?
+                       ECamMediaStorageMassStorage:
+                       iController.IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
+                       ECamMediaStorageNone:
+                       ECamMediaStoragePhone;
    }
   }
 
@@ -893,21 +897,33 @@
   {
   CFbsBitmap* icon = NULL;
   CFbsBitmap* mask = NULL;
-  if ( iStorageLocation == ECamMediaStoragePhone )
-    {
-    icon = iPhoneIcon;
-    mask = iPhoneIconMask;
-    }
-  else if ( iStorageLocation == ECamMediaStorageMassStorage )
-    {
-    icon = iMassStorageIcon;
-    mask = iMassStorageIconMask;
-    }
-  else
-    {
-    icon = iMMCIcon;
-    mask = iMMCIconMask;
-    }
+  switch( iStorageLocation )
+      {
+      case ECamMediaStoragePhone:
+          {
+          icon = iPhoneIcon;
+          mask = iPhoneIconMask;
+          }
+          break;
+      case ECamMediaStorageMassStorage:
+          {
+          icon = iMassStorageIcon;
+          mask = iMassStorageIconMask;
+          }
+          break;            
+      case ECamMediaStorageCard:
+          {
+          icon = iMMCIcon;
+          mask = iMMCIconMask;
+          }
+          break;            
+      case ECamMediaStorageNone:
+      default:
+          {
+          //TODO: Get icons when none is available
+          }
+          break;
+      }
   // Should use layout                
   aBmpGc.BitBlt(TPoint(0,0), icon);
   aBmpMaskGc.BitBlt(TPoint(0,0), mask);
@@ -923,21 +939,38 @@
   {
   CFbsBitmap* icon = NULL;
   CFbsBitmap* mask = NULL;
-  if ( iStorageLocation == ECamMediaStoragePhone )
-    {
-    icon = iPhoneIcon;
-    mask = iPhoneIconMask;
-    }
-  else if ( iStorageLocation == ECamMediaStorageMassStorage )
+  switch( iStorageLocation )
     {
-    icon = iMassStorageIcon;
-    mask = iMassStorageIconMask;
+    case ECamMediaStoragePhone:
+        {
+        icon = iPhoneIcon;
+        mask = iPhoneIconMask;
+        }
+        break;
+    case ECamMediaStorageMassStorage:
+        {
+        icon = iMassStorageIcon;
+        mask = iMassStorageIconMask;
+        }
+        break;            
+    case ECamMediaStorageCard:
+        {
+        icon = iMMCIcon;
+        mask = iMMCIconMask;
+        }
+        break;            
+    case ECamMediaStorageNone:
+    default:
+        {
+        //TODO: Get icons when none is available
+        }
+        break;
     }
-  else
-    {
-    icon = iMMCIcon;
-    mask = iMMCIconMask;
-    }
+  
+  if( icon == NULL || mask == NULL)
+      {
+      return;
+      }
   
   if ( iMode == ECamControllerVideo )
     {
@@ -1250,7 +1283,10 @@
   
   if (ECamMediaStorageMassStorage ==iStorageLocation)
     {
-    iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:ECamMediaStoragePhone;
+    TCamMediaStorage storage = iController.IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
+                                ECamMediaStorageNone:
+                                ECamMediaStoragePhone;
+    iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:storage;
     }
   UpdateCounter();    
 
@@ -1312,7 +1348,10 @@
         
         if (ECamMediaStorageMassStorage ==iStorageLocation)
           {
-          iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:ECamMediaStoragePhone;
+          TCamMediaStorage storage = iController.IntegerSettingValue( ECamSettingItemRemovePhoneMemoryUsage )?
+                                     ECamMediaStorageNone:
+                                     ECamMediaStoragePhone;  
+          iStorageLocation = iController.ExistMassStorage()?ECamMediaStorageMassStorage:storage;
           }
         }
       BroadcastEvent( ECamObserverEventNaviModelUpdated );
--- a/camerauis/cameraapp/generic/src/CamNaviProgressBarModel.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamNaviProgressBarModel.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -344,21 +344,33 @@
 
     CFbsBitmap* icon = NULL;
     CFbsBitmap* mask = NULL;
-    if ( iStorageLocation == ECamMediaStoragePhone )
-        {
-        icon = iPhoneIcon;
-        mask = iPhoneIconMask;
-        }
-    else if ( iStorageLocation == ECamMediaStorageMassStorage )
-        {
-        icon = iMassStorageIcon;
-        mask = iMassStorageIconMask;
-        }
-    else
-        {
-        icon = iMMCIcon;
-        mask = iMMCIconMask;
-        }
+    switch( iStorageLocation )
+      {
+      case ECamMediaStoragePhone:
+          {
+          icon = iPhoneIcon;
+          mask = iPhoneIconMask;
+          }
+          break;
+      case ECamMediaStorageMassStorage:
+          {
+          icon = iMassStorageIcon;
+          mask = iMassStorageIconMask;
+          }
+          break;            
+      case ECamMediaStorageCard:
+          {
+          icon = iMMCIcon;
+          mask = iMMCIconMask;
+          }
+          break;            
+      case ECamMediaStorageNone:
+      default:
+          {
+          //TODO: Get icons when none is available
+          }
+          break;
+      }
 
     DrawElapsedTimeText( aGc );
     DrawRemainingTimeText( aGc, skin );
--- a/camerauis/cameraapp/generic/src/CamPostCaptureContainer.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPostCaptureContainer.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -294,14 +294,21 @@
         }
     // Draw the current image - snapshot or thumbnail
     CWindowGc& gc = SystemGc();
-    gc.SetFaded( EFalse );
-
-    gc.SetBrushColor( KRgbBlack );
-    gc.Clear();
-
     const CFbsBitmap* snapshot = iController.SnapshotImage();
     TRect containerRect = Rect();
 
+    TBool lateOperation = ( ECamCapturing == iController.CurrentOperation() 
+                            || ECamCompleting == iController.CurrentOperation() );
+
+    if ( iView.Id().iUid != ECamViewIdVideoPostCapture &&
+       ( iController.ActiveCamera() != ECamActiveCameraSecondary ||
+         lateOperation ) )
+         {
+         gc.SetFaded( EFalse );
+         gc.SetBrushColor( KRgbBlack );
+         gc.Clear( iProcessingTextLayout.TextRect() );   
+         }
+                       
     // If snapshot contains a bitmap
     if ( snapshot )
         {
@@ -341,30 +348,26 @@
         OstTrace0( CAMERAAPP_PERFORMANCE, DUP1_CCAMPOSTCAPTURECONTAINER_DRAW, "e_CAM_APP_SNAPSHOT_DRAW 0" );    //CCORAPP_SNAPSHOT_DRAW_END
         }
 
-  TBool lateOperation = ( ECamCapturing == iController.CurrentOperation() 
-                       || ECamCompleting == iController.CurrentOperation() );
-
-  if( iProcessingText &&  //iProcessingBg && 
-      iController.ActiveCamera() != ECamActiveCameraSecondary && 
-      lateOperation
-    )  
-    {
-    PRINT( _L("Camera <> CCamPostCaptureContainer: draw processing text..") );
-    // When iProcessingText exists (and we are in correct state), the processing
-    // image text needs to be drawn.
-    //iProcessingBg->Draw( gc, Rect() );
+    if( iProcessingText &&  //iProcessingBg && 
+        iController.ActiveCamera() != ECamActiveCameraSecondary && 
+        lateOperation )  
+        {
+        PRINT( _L("Camera <> CCamPostCaptureContainer: draw processing text..") );
+        // When iProcessingText exists (and we are in correct state), the processing
+        // image text needs to be drawn.
+        //iProcessingBg->Draw( gc, Rect() );
     
-    gc.SetBrushColor( KRgbWhite );
-    gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-    iProcessingTextLayout.DrawText( gc, *iProcessingText, ETrue, KRgbBlack ); 
-    }
+        gc.SetBrushColor( KRgbWhite );
+        gc.SetBrushStyle( CGraphicsContext::ENullBrush );
+        iProcessingTextLayout.DrawText( gc, *iProcessingText, ETrue, KRgbBlack ); 
+        }
 
 	if( iBatteryPaneController )
 		{
 		if( iPaneInUse == ECamPaneCounter )
-	    		{
-	    		iNaviCounterControl->DrawNaviCtr( gc );
-	    		}
+	        {
+	    	iNaviCounterControl->DrawNaviCtr( gc );
+	    	}
 	    // Draw the battery pane
  	 	iBatteryPaneController->Draw( gc );
 		}
--- a/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -993,7 +993,8 @@
                    {
                    state->SetHelpTextL(
                            iOneClickUploadUtility->ButtonTooltipL() );
-                                      
+                   
+                   iOneClickUploadUtility->UpdateUploadIcon( toolbar, iController.CurrentMode() );
                    }
                }
             button = dynamic_cast<CAknButton*>(toolbar->ControlOrNull( ECamCmdEdit ));
--- a/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -61,6 +61,7 @@
 #endif
 #include "camconfiguration.h"
 #include "CameraUiConfigManager.h"
+#include "camstartuplogo.h"
 
 
 // CONSTANTS
@@ -107,6 +108,8 @@
   delete iZoomTimer;
   delete iVfGridDrawer;
 
+  delete iStartupLogo;
+
   if ( iController.UiConfigManagerPtr() && 
        iController.UiConfigManagerPtr()->IsAutoFocusSupported() )
       {
@@ -294,7 +297,12 @@
   iController.SetViewfinderWindowHandle( &Window() );
   appUi->SetViewFinderInTransit(EFalse);
   iController.StartIdleTimer();
-  
+
+  if (appUi->StartupLogoController())
+    {
+    TRAP_IGNORE(iStartupLogo = CCamStartupLogo::NewL(*appUi->StartupLogoController(), aRect));
+    }
+
   PRINT( _L("Camera <= CCamPreCaptureContainerBase::BaseConstructL ") );
   }
 
@@ -1164,6 +1172,39 @@
           else
             {
             PRINT_FRQ( _L("Camera <> CCamPreCaptureContainerBase: iBitmapGc == NULL"));
+            //in DSA case draw snapshot already here if available
+            const CFbsBitmap* snapshot = iController.SnapshotImage();
+            if (snapshot)
+              {
+              TSize snapshotSize = snapshot->SizeInPixels();
+              TRect bmCropRect( snapshotSize );
+        
+              // Get the required snapshot layout rect
+              TRect vfRect( ViewFinderFrameRect() ); 
+
+              RWindow window = Window();
+              window.Invalidate( Rect() );
+              window.BeginRedraw( Rect() ); 
+              gc.BitBlt( vfRect.iTl, snapshot, bmCropRect );
+              
+              TBool lateOperation = ( ECamCapturing == iController.CurrentOperation() 
+                                     || ECamCompleting == iController.CurrentOperation() );
+
+              if( iProcessingText &&
+                  iController.ActiveCamera() != ECamActiveCameraSecondary && 
+                  lateOperation )
+                {  
+                gc.SetBrushColor( KRgbWhite );
+                gc.SetBrushStyle( CGraphicsContext::ENullBrush );
+                iProcessingTextLayout.DrawText( gc, *iProcessingText, ETrue, KRgbBlack ); 
+                }
+              
+              if( iBatteryPaneController )
+                {
+                iBatteryPaneController->Draw( gc );
+                }
+              window.EndRedraw();
+              }   
             }
           }
         DeactivateGc();
--- a/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -1779,7 +1779,8 @@
     PRINT( _L("Camera => CCamPreCaptureViewBase::HandleTouchGestureL") );
     
     // Skipped modes here
-    if ( iController.ActiveCamera() == ECamActiveCameraSecondary )
+    if ( ( iController.ActiveCamera() == ECamActiveCameraSecondary ) || 
+         ( ECamNoOperation != iController.CurrentOperation() )  )
         {
         PRINT( _L("Camera <= CCamPreCaptureViewBase::HandleTouchGestureL") );
         return;
@@ -1800,6 +1801,11 @@
             // level between top widescreen and vga levels
             CCamPreCaptureContainerBase* container = static_cast<CCamPreCaptureContainerBase*>( iContainer );
             container->BlinkResolutionIndicatorOnChange( ETrue );
+
+            // Hide the zoom pane in case of pinch
+            CCamAppUi* appUi = static_cast<CCamAppUi*>( iEikonEnv->AppUi() );
+            appUi->ZoomPane()->MakeVisible( EFalse, ETrue );
+
             if ( iController.ToggleWideScreenQuality( wide ) )
                 {
                 iLastMovement = currMove;
--- a/camerauis/cameraapp/generic/src/CamSettingsModel.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamSettingsModel.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -2396,7 +2396,7 @@
     {
     PRINT( _L("Camera => CCamSettingsModel::SetUserSceneDefault ") );
     TInt settingsCount = iDynamicPhotoIntSettings.Count();
-    TInt userVal;
+    TInt userVal = 0;
     for ( TInt i = 0; i < settingsCount; ++i )
        {
        if ( iDynamicPhotoIntSettings[i]->iItemId == ECamSettingItemDynamicPhotoScene )
--- a/camerauis/cameraapp/generic/src/CamStillPostCaptureView.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamStillPostCaptureView.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -340,9 +340,18 @@
     // SHARE_AIW
     iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID),
             R_CAM_AIW_VIEW_INTEREST );
+   
+    if ( iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport) )
+        {    
+        iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID), 
+                R_CAM_SET_AS_CALL_IMAGE_INTEREST_EDITOR );
+        }
+    else
+        {
+        iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID), 
+                    R_CAM_SET_AS_CALL_IMAGE_INTEREST );
+        }
     
-    iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID), 
-            R_CAM_SET_AS_CALL_IMAGE_INTEREST ); 
     OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP1_CCAMSTILLPOSTCAPTUREVIEW_DOACTIVATEL, "e_CCamStillPostCaptureView_DoActivateL 0" );
     }
 
--- a/camerauis/cameraapp/generic/src/CamStillPreCaptureView.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamStillPreCaptureView.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -309,6 +309,14 @@
     PRINT( _L("Camera <> CCamStillPreCaptureView::HandleForegroundEventL: to foreground") );
     PRINT1( _L("Camera <> CCamStillPreCaptureView .. Current controller operation [%s]"), KCamCaptureOperationNames[iController.CurrentOperation()] );
     PRINT1( _L("Camera <> CCamStillPreCaptureView .. Current controller mode      [%s]"), KCamModeNames[iController.CurrentMode()] );
+    if( ECamViewStateStandby == appUi->CurrentViewState() )
+      {
+      CAknToolbar* fixedToolbar = appUi->CurrentFixedToolbar();
+      if( fixedToolbar )
+        {
+        fixedToolbar->SetToolbarVisibility( EFalse );    
+        }
+      }
 
 
     if( iController.SequenceCaptureInProgress() )
@@ -1275,7 +1283,7 @@
         UpdateToolbarIconsL();
         if( aToolbar )
                 {            
-                if ( iEmbedded && appUi->IsSecondCameraEnabled() )
+                if ( iEmbedded /* && appUi->IsSecondCameraEnabled()*/ )
                     {
 					aToolbar->SetItemDimmed(ECamCmdNewVideo, ETrue, ETrue);
                     }
--- a/camerauis/cameraapp/generic/src/CamUserSceneSetupViewBase.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamUserSceneSetupViewBase.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -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"
@@ -131,7 +131,7 @@
             break;
      	case ECamCmdCaptureSetupLightSensitivityUser:
       		{
-       		SwitchToInfoListBoxL( EInfoListBoxModeISO, ETrue );
+      		SwitchToInfoListBoxL( EInfoListBoxModeISO, EFalse );//No skin
       		}    
 			break;
         // If capture setup menu is active and user presses softkey cancel,
@@ -448,7 +448,7 @@
             }
         else
             {
-            SetSoftKeysL( R_CAM_SOFTKEYS_SELECT_CANCEL );
+            SetSoftKeysL( R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE_TRANSPARENT );//color etc.
             }
         }
     else if ( iSceneSettingModeActive )
@@ -462,12 +462,9 @@
     	}
     else if ( iInfoListBoxActive )
         {
-        SetSoftKeysL( R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE );
-        if( iForceAvkonCBA )
-            {
-            EikSoftkeyPostingTransparency::MakeTransparent(
-                    *ViewCba(), EFalse );            
-            }
+        SetSoftKeysL( R_CAM_SOFTKEYS_SETTINGS_SELECT_BACK__CHANGE_TRANSPARENT );
+        EikSoftkeyPostingTransparency::MakeTransparent(   
+                            *ViewCba(), !iForceAvkonCBA );
         }
     // if the view is user scene setup
     else
@@ -517,7 +514,7 @@
     StatusPane()->MakeVisible( ETrue );
     
     // Update the command button array.
-    iForceAvkonCBA=ETrue;
+    iForceAvkonCBA=EFalse;
     UpdateCbaL();
     SetTitlePaneTextL();
     PRINT( _L("Camera <= CCamUserSceneSetupViewBase::SwitchToUserSceneSetupModeL()") );  	   
@@ -544,7 +541,7 @@
 
     // Remove the view's main container, and add the capture setup 
     // control associated with the input command to the container stack.
-    CCamCaptureSetupViewBase::SwitchToCaptureSetupModeL( aSetupCommand, EFalse );
+    CCamCaptureSetupViewBase::SwitchToCaptureSetupModeL( aSetupCommand, ETrue );
    StatusPane()->MakeVisible( EFalse ); 	
     PRINT( _L("Camera <= CCamUserSceneSetupViewBase::SwitchToCaptureSetupModeL()") );  	   	
     }
--- a/camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -308,8 +308,16 @@
             {   
             }
         }
-    iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ), 
-            R_CAM_SET_AS_RING_TONE_INTEREST );
+    if ( iController.IntegerSettingValue(ECamSettingItemVideoEditorSupport) )
+        {
+        iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ), 
+                R_CAM_SET_AS_RING_TONE_INTEREST_EDITOR );
+        }
+    else
+        {
+        iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ), 
+                R_CAM_SET_AS_RING_TONE_INTEREST );
+        }
     }
 
 // ---------------------------------------------------------------------------
--- a/camerauis/cameraapp/generic/src/CamVideoPreCaptureContainer.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamVideoPreCaptureContainer.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -288,8 +288,9 @@
 // Handle events sending app to foreground and background
 // ---------------------------------------------------------
 
-void CCamVideoPreCaptureContainer::HandleForegroundEventL( TBool /*aForeground*/ )
+void CCamVideoPreCaptureContainer::HandleForegroundEventL( TBool aForeground )
 	{
+    CCamPreCaptureContainerBase::HandleForegroundEventL( aForeground );
 	}
 
 
--- a/camerauis/cameraapp/generic/src/CamVideoPreCaptureView.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamVideoPreCaptureView.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -1002,7 +1002,7 @@
     	{
 	    // Create the scene setting container for video mode.
 	    iSceneSettingContainer = CCamShootingModeContainer::NewL( AppUi()->ApplicationRect(),
-                                                               EFalse, //Notskinned background
+                                                               ETrue, //Skinned background
 	                                                           *this,
 	                                                           ECamControllerVideo,
 	                                                           iController,
@@ -1030,7 +1030,7 @@
     RemoveCaptureSetupMenuContainers();
 
     // Stop the viewfinder as it isn't required for scene settings
-    //StopViewFinder();
+    StopViewFinder();
     
     }
  
@@ -1189,7 +1189,7 @@
         UpdateToolbarIconsL();
         if( aToolbar )
             {            
-            if ( iEmbedded && appUi->IsSecondCameraEnabled() )
+            if ( iEmbedded /* && appUi->IsSecondCameraEnabled()*/ )
                 {
                 aToolbar->SetItemDimmed(ECamCmdNewPhoto, ETrue, ETrue);
                 }
--- a/camerauis/cameraapp/generic/src/audioplayer/camaudioplayerwrapper.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/audioplayer/camaudioplayerwrapper.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -37,7 +37,7 @@
 
 // ===========================================================================  
 // Constants
-
+const TReal32 KCamSoundVol = 0.75f; 
 // Migrated directly from old sound player.
 #ifndef __WINSCW__
   static const TUint KAudioPriority = KAudioPriorityCameraTone;
@@ -136,6 +136,7 @@
       iPlayRequested = EFalse;
       iState         = CCamAudioPlayerWrapper::EPlaying;
       iCallback      = aCallback;
+      iPlayer->SetVolume( static_cast<TInt>( iPlayer->MaxVolume()* KCamSoundVol ) );
       iPlayer->Play();
       break;
 
--- a/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -4027,7 +4027,6 @@
     {
     SetFlags( iInfo.iState, ECamPowerOn|ECamReserved );
 
-    TRAP_IGNORE( SetFaceTrackingL() );
 #if defined( CAMERAAPP_CAE_FOR_VIDEO ) && !defined( CAMERAAPP_CAE_FIX )
     // We need to tell to CCaeEngine that the CCamera has been reserved
     // and powered on "behind its back".
@@ -4931,9 +4930,17 @@
             notify          = EFalse;
             proceedSequence = ETrue;
             PRINT1( _L( "Camera <> CCamCameraController::HandleCallbackEvent - %d reserve try again left" ), iReserveTryAgainCount );
-
             }
-        else
+        else if(KErrBadName == aStatus &&
+                iSequenceIndex >= 0 &&   
+                Request2Event( iSequenceArray[iSequenceIndex] ) == aEventId)  
+            {
+            aStatus         = KErrNone;
+            notify          = ETrue;
+            proceedSequence = ETrue;
+            //EndSequence( aStatus );      
+            }
+        else 
             {
 
             notify          = EFalse;
--- a/camerauis/cameraapp/generic/src/camoneclickuploadutility.cpp	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/generic/src/camoneclickuploadutility.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -32,7 +32,7 @@
 #include "Cam.hrh"
 
 #include <cameraapp.mbg>
-#include "camutility.h"
+#include "CamUtility.h"
 
 const TUid KShareOnlineCrUid = { 0x2002CC1F };
 const TUint32 KShareCrApplicationVersion = 0x01010020;
@@ -391,6 +391,8 @@
         {
         delete iIconImage;
         delete iIconMask;
+        iIconImage = NULL;
+        iIconMask = NULL;
         
         iIconImage = new (ELeave) CFbsBitmap;
         iIconImage->Duplicate( aBitmap->Handle() );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/src/camstartuplogo.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,215 @@
+/*
+* Copyright (c) 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  CCoeControl to show a logo at camera application startup
+*
+*/
+
+#include <fbs.h>
+#include <e32math.h>
+#include <e32debug.h>
+#include <akniconutils.h>
+#include <cameraapp.mbg>
+#include "camlogging.h"
+#include "camstartuplogo.h"
+
+_LIT(KCamBitmapFile, "z:\\resource\\apps\\cameraapp.mif");
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogo* CCamStartupLogo::NewL(CCamStartupLogoController& aController,
+                                       const TRect& aRect)
+    {
+    PRINT(_L("Camera => CCamStartupLogo::NewL"))
+    CCamStartupLogo* self = new (ELeave) CCamStartupLogo(aController, aRect);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+
+    PRINT(_L("Camera <= CCamStartupLogo::NewL"))
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// C++ constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogo::CCamStartupLogo(CCamStartupLogoController& aController,
+                                 const TRect& aRect)
+    : iRect(aRect), iController(aController)
+    {
+    // No implementation needed
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogo::~CCamStartupLogo()
+    {
+    iController.RemoveObserver(this);
+
+    delete iLogo;
+    delete iLogoMask;
+    }
+
+// ---------------------------------------------------------------------------
+// 2nd phase constructor
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::ConstructL()
+    {
+    PRINT(_L("Camera => CCamStartupLogo::ConstructL"))
+
+    iController.AddObserver(this);
+
+    if (iController.State() == EStartupLogoVisible)
+        {
+        ShowL();
+        }
+
+    PRINT(_L("Camera <= CCamStartupLogo::ConstructL"))
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogo::StartupLogoControllerStateChanged
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::StartupLogoControllerStateChanged(
+    TStartupLogoState aNewState)
+    {
+    PRINT(_L("Camera => CCamStartupLogo::StartupLogoControllerStateChanged"))
+
+    if (aNewState == EStartupLogoNotVisible)
+        {
+        Hide();
+        }
+    else if (aNewState == EStartupLogoVisible)
+        {
+        TRAP_IGNORE(ShowL()); 
+        }
+    else
+        {
+        PRINT(_L("Camera <> StartupLogoControllerStateChanged - unknown state"))
+        }
+
+    PRINT(_L("Camera <= CCamStartupLogo::StartupLogoControllerStateChanged"))
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogo::ShowL
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::ShowL()
+    {
+    PRINT(_L("Camera => CCamStartupLogo::ShowL"))
+
+    if (!iLogo || !iLogoMask)
+        {
+        delete iLogo;
+        iLogo = NULL;
+        delete iLogoMask;
+        iLogoMask = NULL;
+
+        TTime t0;
+        t0.UniversalTime();
+
+        AknIconUtils::CreateIconL(iLogo,
+                                  iLogoMask,
+                                  KCamBitmapFile,
+                                  EMbmCameraappQgn_menu_cams,
+                                  EMbmCameraappQgn_menu_cams_mask);
+        
+        TSize logoSize(iRect.Size().iWidth/2, iRect.Size().iHeight/2);
+        AknIconUtils::SetSize(iLogo, logoSize);
+
+        TTime t1;
+        t1.UniversalTime();
+
+        PRINT1(_L("Camera <> Startup icon load took %d us"), I64LOW(t1.MicroSecondsFrom(t0).Int64()))
+        }
+
+    if (!iWindowCreated)
+        {
+        CreateWindowL();
+        iWindowCreated = ETrue;
+        }
+
+    if (!IsActivated())
+        {
+        ActivateL();
+        }
+
+    SetExtentToWholeScreen();
+
+    MakeVisible(ETrue);
+    RDrawableWindow* window = DrawableWindow();
+    if (window)
+        {
+        window->SetOrdinalPosition(0);
+        }
+
+    PRINT(_L("Camera <= CCamStartupLogo::ShowL"))
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogo::Hide
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::Hide()
+    {
+    PRINT(_L("Camera => CCamStartupLogo::Hide"))
+
+    MakeVisible(EFalse);
+
+    if (iWindowCreated)
+        {
+        CloseWindow();
+        iWindowCreated = EFalse;
+        }
+
+    delete iLogo;
+    iLogo = NULL;
+    delete iLogoMask;
+    iLogoMask = NULL;
+
+    PRINT(_L("Camera <= CCamStartupLogo::Hide"))
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogo::Draw
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogo::Draw(const TRect& /*aRect*/) const
+    {
+    PRINT(_L("Camera <> CCamStartupLogo::Draw"))
+
+    CWindowGc& gc = SystemGc();
+
+    gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+    gc.SetBrushColor(TRgb::Color16MA(0xFF000000)); // opaque black
+    gc.SetPenStyle(CGraphicsContext::ENullPen);
+    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+    gc.DrawRect(Rect());
+
+    if (iLogo && iLogoMask)
+        {
+        TSize logoSize(iLogo->SizeInPixels());
+        TPoint logoTl(iRect.Center().iX - logoSize.iWidth / 2,
+                      iRect.Center().iY - logoSize.iHeight / 2);
+        gc.BitBltMasked(logoTl, iLogo, TRect(logoSize), iLogoMask, EFalse);
+        }
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/src/camstartuplogocontroller.cpp	Wed Mar 31 21:06:44 2010 +0300
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Controller for managing the camera startup logo state
+*
+*/
+
+#include "camstartuplogocontroller.h"
+#include "camlogging.h"
+
+// Maximum time the logo can be shown
+const TInt KCamFailSafeTimeout = 5000000; // 5 seconds
+
+// ---------------------------------------------------------------------------
+// C++ constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogoController::CCamStartupLogoController(TStartupLogoState aInitialState)
+    : iState(aInitialState)
+    {
+    // No implementation required
+    PRINT( _L("Camera <> CCamStartupLogoController::CCamStartupLogoController") );
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogoController::~CCamStartupLogoController()
+    {
+    PRINT( _L("Camera <> CCamStartupLogoController::~CCamStartupLogoController") );
+    delete iFailSafeTimer;
+    }
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogoController* CCamStartupLogoController::NewLC(TStartupLogoState aInitialState)
+    {
+    CCamStartupLogoController* self =
+            new (ELeave) CCamStartupLogoController(aInitialState);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor
+// ---------------------------------------------------------------------------
+//
+CCamStartupLogoController* CCamStartupLogoController::NewL(
+    TStartupLogoState aInitialState)
+    {
+    CCamStartupLogoController* self = CCamStartupLogoController::NewLC(aInitialState);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// 2nd phase constructor
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::ConstructL()
+    {
+    iFailSafeTimer = CPeriodic::NewL(0);
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::AddObserver
+// ---------------------------------------------------------------------------
+//
+TInt CCamStartupLogoController::AddObserver(
+    MCamStartupLogoControllerObserver* aObserver)
+    {
+    return iObservers.Append(aObserver);
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::RemoveObserver
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::RemoveObserver(
+    MCamStartupLogoControllerObserver* aObserver)
+    {
+    TInt index = iObservers.Find(aObserver);
+    if (index >= 0)
+        {
+        iObservers.Remove(index);
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::State
+// ---------------------------------------------------------------------------
+//
+TStartupLogoState CCamStartupLogoController::State() const
+    {
+    return iState;
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::ShowLogo
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::ShowLogo()
+    {
+    PRINT(_L("Camera <> CCamStartupLogoController::ShowLogo"));
+
+    if (iFailSafeTimer)
+        {
+        iFailSafeTimer->Cancel();
+        iFailSafeTimer->Start(TTimeIntervalMicroSeconds32(KCamFailSafeTimeout),
+                TTimeIntervalMicroSeconds32(KCamFailSafeTimeout),
+                TCallBack(FailSafeCallback, this));
+        }
+
+    SetState(EStartupLogoVisible);
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::HideLogo
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::HideLogo()
+    {
+    PRINT(_L("Camera <> CCamStartupLogoController::HideLogo"));
+
+    // Hide immediately
+    SetState(EStartupLogoNotVisible);
+    if (iFailSafeTimer)
+        {
+        iFailSafeTimer->Cancel();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::SetState
+// ---------------------------------------------------------------------------
+//
+void CCamStartupLogoController::SetState(TStartupLogoState aNewState)
+    {
+    PRINT1(_L("Camera => CCamStartupLogoController::SetState %d"), aNewState);
+    
+    if (iState != aNewState)
+        {
+        iState = aNewState;
+        for (TInt i=0; i<iObservers.Count(); i++)
+            {
+            iObservers[i]->StartupLogoControllerStateChanged(aNewState);
+            }
+        }
+    PRINT1(_L("Camera <= CCamStartupLogoController::SetState %d"), aNewState);
+    }
+
+// ---------------------------------------------------------------------------
+// CCamStartupLogoController::FailSafeCallback
+// ---------------------------------------------------------------------------
+//
+TInt CCamStartupLogoController::FailSafeCallback(TAny* ptr)
+    {
+    PRINT(_L("Camera <> CCamStartupLogoController::FailSafeCallback"));
+
+    CCamStartupLogoController* self = static_cast<CCamStartupLogoController*>(ptr);
+    if (self)
+        {
+        self->HideLogo();
+        if (self->iFailSafeTimer)
+            {
+            self->iFailSafeTimer->Cancel();
+            }
+        }
+    return 0;
+    }
Binary file camerauis/cameraapp/help/data/xhtml.zip has changed
--- a/camerauis/cameraapp/help/inc/lcam.hlp.hrh	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/help/inc/lcam.hlp.hrh	Wed Mar 31 21:06:44 2010 +0300
@@ -23,8 +23,8 @@
 #define __LCAM_HLP_HRH__
 
 _LIT(KLCAM_HLP_VIEWFINDER_PHOTO, "LCAM_HLP_VIEWFINDER_PHOTO"); // 
-_LIT( KLCAM_HLP_STANDBY_STATE,        "LCAM_HLP_STANDYBY_STATE"      ); //Camera standby view
-_LIT( KLCAM_HLP_ADVANCED_SEQUENCE,    "LCAM_HLP_ADVANCED_SEQUENCE"   ); // Advanced sequence mode setting page. - obsolete
+_LIT(KLCAM_HLP_STANDBY_STATE, "LCAM_HLP_STANDYBY_STATE"); //Camera standby view
+_LIT(KLCAM_HLP_ADVANCED_SEQUENCE, "LCAM_HLP_ADVANCED_SEQUENCE"); // Advanced sequence mode setting page. - obsolete
 _LIT(KLCAM_HLP_CUST_TOOLBAR, "LCAM_HLP_CUST_TOOLBAR"); // 
 _LIT(KLCAM_HLP_LIGHT_SENSITIVITY, "LCAM_HLP_LIGHT_SENSITIVITY"); // 
 _LIT(KLCAM_HLP_SETTINGS_PHOUSER, "LCAM_HLP_SETTINGS_PHOUSER"); // 
@@ -35,10 +35,11 @@
 _LIT(KLCAM_HLP_SCENES_VIDEO, "LCAM_HLP_SCENES_VIDEO"); // 
 _LIT(KLCAM_HLP_SETTINGS_VIDEO, "LCAM_HLP_SETTINGS_VIDEO"); // 
 _LIT(KLCAM_HLP_VIEWFINDER_VIDEO_EM, "LCAM_HLP_VIEWFINDER_VIDEO_EM"); // 
-_LIT(KLCAM_HLP_STANDYBY_EM, "LCAM_HLP_STANDYBY_EM"); // 
+_LIT(KLCAM_HLP_STANDBY_EM, "LCAM_HLP_STANDBY_EM"); // 
 _LIT(KLCAM_HLP_POST_VIDEO, "LCAM_HLP_POST_VIDEO"); // 
 _LIT(KLCAM_HLP_VIEWFINDER_PHOTO_EM, "LCAM_HLP_VIEWFINDER_PHOTO_EM"); // 
 _LIT(KLCAM_HLP_POST_PHOTO, "LCAM_HLP_POST_PHOTO"); // 
 _LIT(KLCAM_HLP_POST_SEQ, "LCAM_HLP_POST_SEQ"); // 
+_LIT(KLCAM_HLP_STANDYBY_EM, "LCAM_HLP_STANDYBY_EM"); //
 
 #endif 
\ No newline at end of file
--- a/camerauis/cameraapp/loc/cam.loc	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/loc/cam.loc	Wed Mar 31 21:06:44 2010 +0300
@@ -4246,5 +4246,11 @@
 //
 #define qtn_lcam_shuttersound_off "Off"
 
+//d: This popup note is displayed when both the mass storage 
+//d: and memory card become inaccessible. For instance when 
+//d: USB is connected in mass torage mode
+//l: popup_note_window
+#define qtn_lcam_storage_inaccessible_note "All storage inaccessible at the moment. Please try again later"
+
 // end of file
 
--- a/camerauis/cameraapp/rom/cameraapp.iby	Mon Mar 15 12:39:00 2010 +0200
+++ b/camerauis/cameraapp/rom/cameraapp.iby	Wed Mar 31 21:06:44 2010 +0300
@@ -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"
@@ -58,8 +58,5 @@
 // Stub sis file
 data=ZSYSTEM\install\cameraapp_stub.sis    System\Install\cameraapp_stub.sis
 
-// Backup registration
-data = ZPRIVATE\2001B29B\backup_registration.xml                    private\2001B29B\backup_registration.xml
-
 
 #endif // CAMERAAPP_IBY
--- a/package_definition.xml	Mon Mar 15 12:39:00 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="camera" name="Camera Apps">
-    <collection id="camerauis" name="Camera UIs">
-      <component id="activepalette" filter="s60" name="Active Palette">
-        <unit bldFile="camerauis/activepalette/group"/>
-      </component>
-      <component id="cameraapp" filter="s60" name="Camera Application">
-      	<!--  can only have one unit. Need to use #includes, merge the bld.infs or split into two components-->
-        <unit bldFile="camerauis/cameraapp/group"/>
-        <unit bldFile="camerauis/cameraapp/help/group"/>
-        <!-- should theese be #included from the above? -->
-        <!-- <unit bldFile="camerauis/cameraapp/generic/camerauiconfigmanager/group"/> -->
-        <!-- <unit bldFile="camerauis/cameraapp/generic/gscamcorderplugin/group"/> -->
-      </component>
-    </collection>
-    <collection id="camera_info" name="Camera Apps Info">
-      <component id="camera_plat" filter="s60" name="Camera Apps Platform Interfaces" class="api">
-        <unit bldFile="camera_plat/group"/>
-        <!-- should these tests be #included from the above? -->
-        <!-- <unit bldFile="camera_plat/active_palette_2_api/tsrc/group"/> -->
-        <!-- <unit bldFile="camera_plat/camcorder_ui_constants_api/tsrc/group"/> -->
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>