Revision: 201035 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 15 Sep 2010 11:51:19 +0300
branchRCL_3
changeset 62 f0c0788c4de2
parent 57 2c87b2808fd7
child 67 756ad29ed18e
Revision: 201035 Kit: 201036
camera_plat/active_palette_2_api/tsrc/group/ActivePalette2ApiTest.mmp
camera_plat/camcorder_ui_constants_api/tsrc/group/CamAppPerfTest.mmp
camerauis/activepalette/Group/ActivePalette2.mmp
camerauis/cameraapp/build/cameraapp.mmp
camerauis/cameraapp/generic/GsCamcorderPlugin/group/bld.inf
camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp
camerauis/cameraapp/generic/GsCamcorderPlugin/group/iconlist.txt
camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h
camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsView.cpp
camerauis/cameraapp/generic/camerauiconfigmanager/conf/camerauiconfigmanager.confml
camerauis/cameraapp/generic/common/data/CamAppWide.ra
camerauis/cameraapp/generic/common/data/CamAppWideV2.ra
camerauis/cameraapp/generic/common/inc/MCamAddToAlbumObserver.h
camerauis/cameraapp/generic/common/src/CamCollectionManagerAo.cpp
camerauis/cameraapp/generic/inc/CamAppController.h
camerauis/cameraapp/generic/inc/CamAppUi.h
camerauis/cameraapp/generic/inc/CamGSInterface.h
camerauis/cameraapp/generic/inc/CamPostCaptureViewBase.h
camerauis/cameraapp/generic/inc/cambatterypanecontroller.h
camerauis/cameraapp/generic/inc/camtvaccessorymonitor.h
camerauis/cameraapp/generic/src/CamAppController.cpp
camerauis/cameraapp/generic/src/CamAppui.cpp
camerauis/cameraapp/generic/src/CamContainerBase.cpp
camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp
camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp
camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp
camerauis/cameraapp/generic/src/CamShootingModeContainer.cpp
camerauis/cameraapp/generic/src/CamTimer.cpp
camerauis/cameraapp/generic/src/cambatterypanecontroller.cpp
camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp
camerauis/cameraapp/generic/src/camtvaccessorymonitor.cpp
--- a/camera_plat/active_palette_2_api/tsrc/group/ActivePalette2ApiTest.mmp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camera_plat/active_palette_2_api/tsrc/group/ActivePalette2ApiTest.mmp	Wed Sep 15 11:51:19 2010 +0300
@@ -36,8 +36,8 @@
 SOURCE          ActivePalette2ApiTestBlocks.cpp ActivePaletteContainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib cone.lib activepalette.lib eikcore.lib apgrfx.lib ws32.lib 
+LIBRARY         StifTestInterface.lib
+LIBRARY         StifTestEngine.lib cone.lib ActivePalette.lib eikcore.lib apgrfx.lib ws32.lib
 LIBRARY         fbscli.lib bitgdi.lib 
 
 LANG            SC
--- a/camera_plat/camcorder_ui_constants_api/tsrc/group/CamAppPerfTest.mmp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camera_plat/camcorder_ui_constants_api/tsrc/group/CamAppPerfTest.mmp	Wed Sep 15 11:51:19 2010 +0300
@@ -34,14 +34,14 @@
 SOURCE          CamAppPerfTestCases.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
+LIBRARY         StifTestInterface.lib
+LIBRARY         StifTestEngine.lib
 LIBRARY         apgrfx.lib
 LIBRARY         apparc.lib
 LIBRARY         cone.lib
 LIBRARY         eikcore.lib
 LIBRARY         avkon.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         efsrv.lib
 LIBRARY         estor.lib
 LIBRARY	        ws32.lib
--- a/camerauis/activepalette/Group/ActivePalette2.mmp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/activepalette/Group/ActivePalette2.mmp	Wed Sep 15 11:51:19 2010 +0300
@@ -74,7 +74,7 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY euser.lib cone.lib bitgdi.lib fbscli.lib ws32.lib gdi.lib flogger.lib 
-LIBRARY bafl.lib avkon.lib egul.lib aknskins.lib aknicon.lib 
+LIBRARY bafl.lib avkon.lib egul.lib AKNSKINS.lib AknIcon.lib
 #ifdef AP2_USE_3D_RENDERING
 LIBRARY hitchcock.lib
 #endif
--- a/camerauis/cameraapp/build/cameraapp.mmp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/build/cameraapp.mmp	Wed Sep 15 11:51:19 2010 +0300
@@ -254,55 +254,55 @@
 // Libraries
 
 LIBRARY ecom.lib
-LIBRARY gsecomplugin.lib 
+LIBRARY gsecomplugin.lib
 LIBRARY euser.lib 
 LIBRARY apparc.lib 
 LIBRARY cone.lib 
 LIBRARY eikcore.lib  
 LIBRARY eikcoctl.lib 
 LIBRARY avkon.lib 
-LIBRARY CaeEngine.lib 
-LIBRARY aknskins.lib 
+LIBRARY CaeEngine.lib
+LIBRARY AKNSKINS.lib
 LIBRARY efsrv.lib 
-LIBRARY platformenv.lib // PathInfo 
-LIBRARY sysutil.lib 
+LIBRARY platformenv.lib // PathInfo
+LIBRARY sysutil.lib
 LIBRARY fbscli.lib 
 LIBRARY bitgdi.lib 
 LIBRARY ws32.lib 
-LIBRARY CommonEngine.lib 
+LIBRARY CommonEngine.lib
 LIBRARY egul.lib
 LIBRARY bafl.lib
 LIBRARY sendui.lib
 LIBRARY CdlEngine.lib
-LIBRARY bitmaptransforms.lib 
-LIBRARY commondialogs.lib
+LIBRARY bitmaptransforms.lib
+LIBRARY CommonDialogs.lib
 LIBRARY featmgr.lib
-LIBRARY servicehandler.lib  // AIW library 
-LIBRARY aknicon.lib 
-LIBRARY mediaclientaudio.lib  
+LIBRARY ServiceHandler.lib  // AIW library
+LIBRARY AknIcon.lib
+LIBRARY mediaclientaudio.lib
 LIBRARY eikctl.lib
 LIBRARY apgrfx.lib
 LIBRARY charconv.lib
 LIBRARY hlplch.lib // Help Launcher
-LIBRARY commonui.lib        // CDocumentHandler 
+LIBRARY CommonUI.lib        // CDocumentHandler
 LIBRARY apmime.lib          // TDataType
-LIBRARY centralrepository.lib 
+LIBRARY centralrepository.lib
 LIBRARY eikdlg.lib
 LIBRARY numberconversion.lib 
-LIBRARY newservice.lib 
+LIBRARY NewService.lib
 LIBRARY camerauiconfigmanager.lib
-LIBRARY cfclient.lib 
-LIBRARY cfservices.lib 
+LIBRARY CFClient.lib
+LIBRARY CFServices.lib
 LIBRARY ActivePalette.lib
 LIBRARY aknlayout2.lib
 LIBRARY akntouchgesturefw.lib
 LIBRARY accmonitor.lib
 
 // Remote Controller framework
-LIBRARY remconcoreapi.lib 
-LIBRARY remconinterfacebase.lib 
+LIBRARY remconcoreapi.lib
+LIBRARY remconinterfacebase.lib
 
-LIBRARY AknLayout2Scalable.lib 
+LIBRARY AknLayout2Scalable.lib
 LIBRARY gdi.lib
 LIBRARY estor.lib // RWriteStream
 
@@ -317,16 +317,16 @@
 LIBRARY         ecamoverlay.lib
 #endif // CAMERAAPP_CAPI_V2
 
-LIBRARY imageconversion.lib 
-LIBRARY Exiflib.lib          // CExifRead 
+LIBRARY imageconversion.lib
+LIBRARY ExifLib.lib          // CExifRead
 LIBRARY hal.lib              // HAL, HALData
 
 LIBRARY         ecampluginsupport.lib
 
-LIBRARY sensrvclient.lib 
+LIBRARY sensrvclient.lib
 LIBRARY sensrvutil.lib
 
-LIBRARY svgengine.lib // For reading share SVGs
+LIBRARY SVGEngine.lib // For reading share SVGs
 
 #ifdef CAMERAAPP_LOGGING
 LIBRARY flogger.lib
@@ -335,16 +335,16 @@
 LIBRARY cntmodel.lib 
 
 #ifndef __WINSCW__
-LIBRARY Locationtrail.lib 
+LIBRARY LocationTrail.lib
 #ifdef RD_MDS_2_5
 LIBRARY locationmanager.lib
 #endif //RD_MDS_2_5
 #endif //WINSCW
 
 LIBRARY oommonitor.lib
-LIBRARY aknnotify.lib
+LIBRARY AknNotify.lib
 
-LIBRARY ImagingConfigManager.lib 
+LIBRARY imagingconfigmanager.lib
 LIBRARY touchfeedback.lib 
 
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/group/bld.inf	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/group/bld.inf	Wed Sep 15 11:51:19 2010 +0300
@@ -32,7 +32,7 @@
 START EXTENSION s60/mifconv
 OPTION TARGETFILE camerasettingsplugin.mif
 OPTION HEADERFILE camerasettingsplugin.mbg
-OPTION SOURCEDIR ../icons
+
 OPTION SOURCEFILE iconlist.txt
 END
 
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp	Wed Sep 15 11:51:19 2010 +0300
@@ -110,8 +110,8 @@
 END // Plugin resources
 
 LANGUAGE_IDS
-LIBRARY             gsecomplugin.lib 
-LIBRARY             platformenv.lib // PathInfo 
+LIBRARY             gsecomplugin.lib
+LIBRARY             platformenv.lib // PathInfo
 LIBRARY             euser.lib
 LIBRARY             ecom.lib
 LIBRARY             efsrv.lib
@@ -120,23 +120,23 @@
 LIBRARY             cone.lib 
 LIBRARY             eikcoctl.lib 
 LIBRARY             eikcore.lib 
-LIBRARY             CommonEngine.lib//For RConeResourceLoader 
-LIBRARY             gsframework.lib 
+LIBRARY             CommonEngine.lib//For RConeResourceLoader
+LIBRARY             gsframework.lib
 LIBRARY             egul.lib // CGulIcon
-LIBRARY             aknskins.lib // AknsUtils.h
+LIBRARY             AKNSKINS.lib // AknsUtils.h
 LIBRARY             centralrepository.lib
-LIBRARY             featmgr.lib           // Feature manager 
-LIBRARY             aknnotify.lib         // for CAknGlobalNote.h 
-LIBRARY             aknicon.lib     // AknIconUtils 
-LIBRARY             gslistbox.lib         // For CGSListBoxItemTextArray 
+LIBRARY             featmgr.lib           // Feature manager
+LIBRARY             AknNotify.lib         // for CAknGlobalNote.h
+LIBRARY             AknIcon.lib     // AknIconUtils
+LIBRARY             gslistbox.lib         // For CGSListBoxItemTextArray
 LIBRARY             charconv.lib // utf
-LIBRARY             commondialogs.lib  // CAknMemorySelectionDialog
+LIBRARY             CommonDialogs.lib  // CAknMemorySelectionDialog
 LIBRARY             eikctl.lib
-LIBRARY             newservice.lib 
+LIBRARY             NewService.lib
 LIBRARY             eikdlg.lib
 LIBRARY             bitgdi.lib
 LIBRARY             aknlayout2.lib
-LIBRARY             AknLayout2Scalable.lib 
+LIBRARY             AknLayout2Scalable.lib
 LIBRARY             CdlEngine.lib
 LIBRARY             camerauiconfigmanager.lib
 
@@ -145,7 +145,7 @@
 #endif
 LIBRARY fbscli.lib 
 LIBRARY ws32.lib
-LIBRARY     ImagingConfigManager.lib 
+LIBRARY     imagingconfigmanager.lib
 LIBRARY     touchfeedback.lib 
 
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/group/iconlist.txt	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/group/iconlist.txt	Wed Sep 15 11:51:19 2010 +0300
@@ -1,11 +1,9 @@
--c8,8 qgn_lcam_gen_sett_list.svg
--c8,8 qgn_lcam_gen_sett_camera_folder_image.svg
--c8,8 qgn_lcam_gen_sett_camera_folder_video.svg
--1    qgn_lcam_gen_sett_camera_tab_image.svg
--1    qgn_lcam_gen_sett_camera_tab_video.svg
+
+
+-1    qgn_prop_cams_set_image_tab2.svg
+-1    qgn_prop_cams_set_video_tab2.svg 
 -c8,8 qgn_prop_set_apps_cams.svg
 -c8,8 qgn_prop_set_cams_image_sub.svg
 -c8,8 qgn_prop_set_cams_video_sub.svg
 -1    qgn_prop_set_mp_video_tab2.svg
 
-
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h	Wed Sep 15 11:51:19 2010 +0300
@@ -23,7 +23,7 @@
 #include <aknview.h>
 #include <eikclb.h>
 #include <ConeResLoader.h>
-#include <GSPluginInterface.h> 
+#include <gsplugininterface.h>
 #include <gsbaseview.h>
 #include "CamStaticSettingsModel.h"
 
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsView.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsView.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -233,9 +233,9 @@
         AknsUtils::SkinInstance(),  
         KAknsIIDDefault, 
         fileName,
-        EMbmCamerasettingspluginQgn_lcam_gen_sett_camera_tab_image,
-        EMbmCamerasettingspluginQgn_lcam_gen_sett_camera_tab_image );
-    
+        EMbmCamerasettingspluginQgn_prop_cams_set_image_tab2,
+        EMbmCamerasettingspluginQgn_prop_cams_set_image_tab2 );
+
     return icon;
     }       
 
Binary file camerauis/cameraapp/generic/camerauiconfigmanager/conf/camerauiconfigmanager.confml has changed
--- a/camerauis/cameraapp/generic/common/data/CamAppWide.ra	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/common/data/CamAppWide.ra	Wed Sep 15 11:51:19 2010 +0300
@@ -851,3 +851,16 @@
     } 
 */
 
+//----------------------------------------------------
+//   
+//    r_note_added_one_item_album
+//    Notification to show when an item was added to an album
+//
+//----------------------------------------------------
+//
+RESOURCE TBUF r_note_added_one_item_album
+    {
+    buf = qtn_lcam_note_added_one_item_album;
+    }    
+    
+    
\ No newline at end of file
--- a/camerauis/cameraapp/generic/common/data/CamAppWideV2.ra	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/common/data/CamAppWideV2.ra	Wed Sep 15 11:51:19 2010 +0300
@@ -849,3 +849,17 @@
     } 
 */
 
+
+//----------------------------------------------------
+//   
+//    r_note_added_one_item_album
+//    Notification to show when an item was added to an album
+//
+//----------------------------------------------------
+//
+RESOURCE TBUF r_note_added_one_item_album
+    {
+    buf = qtn_lcam_note_added_one_item_album;
+    }    
+    
+    
\ No newline at end of file
--- a/camerauis/cameraapp/generic/common/inc/MCamAddToAlbumObserver.h	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/common/inc/MCamAddToAlbumObserver.h	Wed Sep 15 11:51:19 2010 +0300
@@ -44,7 +44,7 @@
     * Notification once the asynchronous operations using
     * CollectionManager interface have completed.
     */
-    virtual void AddToAlbumIdOperationComplete() = 0;
+    virtual void AddToAlbumIdOperationCompleteL() = 0;
                                         
     };
 
--- a/camerauis/cameraapp/generic/common/src/CamCollectionManagerAo.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/common/src/CamCollectionManagerAo.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -190,7 +190,7 @@
         PRINT( _L("Camera <> CCamCollectionManagerAO::DoAddToAlbumOperationL ... Enters Else Loop") );
         iAddToAlbum = EFalse;
         iSelectedAlbumIds.Reset();
-        iObserver.AddToAlbumIdOperationComplete();
+        iObserver.AddToAlbumIdOperationCompleteL();
         }
     PRINT1( _L("Camera <= CCamCollectionManagerAO::DoAddToAlbumOperationL ... Before leaving iCurrentAlbumIndex (%d)"), iCurrentAlbumIndex )
     }
--- a/camerauis/cameraapp/generic/inc/CamAppController.h	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/inc/CamAppController.h	Wed Sep 15 11:51:19 2010 +0300
@@ -1424,7 +1424,7 @@
    *                takes ownership.
    * @since S60 v5.0
    */
-void SetSettingsPlugin( CCamGSInterface* aPlugin );
+void SetSettingsPlugin( TUid aPlugin );
 
   /**
   * Set viewfinder window for direct screen viewfinder. The handle must remain
@@ -2287,7 +2287,12 @@
         * Set value defining if capturing with touch capture button 
         */
         void SetTouchCapture( TBool aTouchCapture );
-
+        
+        /**
+        * Set value used for idle timeout
+        * @param aLong should idle timer be long 
+        */
+        void SetIdleTimerTimeout( TBool aLong = EFalse );        
   private:
 
     // -----------------------------------------------------
@@ -2565,6 +2570,8 @@
     TCamImageOrientation  iImageOrientation;
     TCamImageOrientation  iLastImageOrientation;
     
+    // Idle timeout for paused videorecording.
+    TInt iLongIdleTimeout;    
     // Property watcher to report changes in the slide state
     CCamPropertyWatcher* iSlideStateWatcher;
     // Property watcher to report changes in the keylock state
@@ -2650,7 +2657,7 @@
     TBool iDefineContextSuccessful;
     TBool iStorageChangeProcessOngoing;
     // own.
-    CCamGSInterface* iPlugin;
+    TUid iPlugin;
     TBool iSilentProfile;
     TInt iTimeLapseCaptureCount;
     RFs iFs;
--- a/camerauis/cameraapp/generic/inc/CamAppUi.h	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/inc/CamAppUi.h	Wed Sep 15 11:51:19 2010 +0300
@@ -1470,7 +1470,7 @@
         * Status of the operation are returned using aStatus
         * e.g. KErrNone
         */
-        void AddToAlbumIdOperationComplete() {};
+        void AddToAlbumIdOperationCompleteL() {};
         
         /**
         * From MCamAddToAlbumObserver
--- a/camerauis/cameraapp/generic/inc/CamGSInterface.h	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/inc/CamGSInterface.h	Wed Sep 15 11:51:19 2010 +0300
@@ -36,7 +36,7 @@
         */
         void DestroyPlugin();
         
-	protected:
+	public:
 	    /** iDtor_ID_Key Instance identifier key. When instance of an
 	     *               implementation is created by ECOM framework, the
 	     *               framework will assign UID for it. The UID is used in
--- a/camerauis/cameraapp/generic/inc/CamPostCaptureViewBase.h	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/inc/CamPostCaptureViewBase.h	Wed Sep 15 11:51:19 2010 +0300
@@ -116,7 +116,7 @@
         * Status of the operation are returned using aStatus
         * e.g. KErrNone
         */
-        void AddToAlbumIdOperationComplete();
+        void AddToAlbumIdOperationCompleteL();
         
         /**
         * From MCamAddToAlbumObserver
--- a/camerauis/cameraapp/generic/inc/cambatterypanecontroller.h	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/inc/cambatterypanecontroller.h	Wed Sep 15 11:51:19 2010 +0300
@@ -150,6 +150,13 @@
         * @param aType Type of the resource change
         */
         void HandleResourceChange( TInt aType );        
+
+        /**
+         * Checks if battery level is low.
+         * @return ETrue if battery level is low and
+         * charger is not connected
+         */
+        TBool IsBatteryLow();
         
     protected:
         /**
--- a/camerauis/cameraapp/generic/inc/camtvaccessorymonitor.h	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/inc/camtvaccessorymonitor.h	Wed Sep 15 11:51:19 2010 +0300
@@ -22,7 +22,7 @@
 #include <AccessoryServer.h>        // for RAccessoryServer
 #include <AccessoryMode.h>          // for RAccessoryMode
 #include <AccessoryConnection.h>    // for RAccessoryConnection
-#include <accpolgenericidarray.h> 
+#include <AccPolGenericIDArray.h>
 
 
 class MCamTvAccessoryObserver
--- a/camerauis/cameraapp/generic/src/CamAppController.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamAppController.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -593,12 +593,12 @@
   iConfiguration = NULL;  
 
   RProperty::Delete( KPSUidCamcorderNotifier, KCCorFocused );  
-    if( iPlugin )
-        {
-        // Destroy Ecom plugin
-        iPlugin->DestroyPlugin();
-        }
-  iPlugin = NULL;
+  if( TUid::Null() != iPlugin )
+      {
+      // Destroy Ecom plugin
+      REComSession::DestroyedImplementation( iPlugin );    
+      REComSession::FinalClose();
+      }
   delete iDriveChangeNotifier;
   iFs.Close();
   
@@ -1965,7 +1965,8 @@
       StopViewFinder(); 
       IssueRequestL( ECamRequestVideoStop ); // Rest handled when event comes.
       });
-    
+
+    iIdleTimer->SetTimeout( KIdleTimeout ); //Set normal idle timeout value
     StartIdleTimer();
     }
   else
@@ -2052,17 +2053,13 @@
   // Keep track of the fact we are now leaving saving state
   iSaving = EFalse;
   
-  // try closing video record to free up resources
-  // Test - <eo> commented out, no such direct request supported
-  // TRAP_IGNORE( IssueDirectRequestL( ECamRequestVideoRelease ) );
-  
-  // if video post capture is off then force re-prepare so
-  // that remaining record time is updated
-  // REMOVED
-
-  // if using direct viewfinding pause viewfinder
-  // REMOVED
-
+  //create thumbnail before harvesting
+  if( iConfigManager && iConfigManager->IsThumbnailManagerAPISupported() )
+      {
+      TRAP_IGNORE( iImageSaveActive->CreateThumbnailsL( *BurstCaptureArray() ) ;
+                   iImageSaveActive->DoCreateThumbnailL() );
+      }
+        
   // report to LifeBlog
   RProperty::Set( KPSUidCamcorderNotifier, KCamLatestFilePath, iSuggestedVideoPath ); 
   // Add to album if this is enabled for videos
@@ -2077,12 +2074,7 @@
     {
     iImageSaveActive->AddToAlbum( iSuggestedVideoPath, EFalse, defaultAlbumId );
     }
-
-  //create thumbnail
-  if( iConfigManager && iConfigManager->IsThumbnailManagerAPISupported() )
-      {
-      TRAP_IGNORE( iImageSaveActive->CreateThumbnailsL( *BurstCaptureArray() ) );
-      }
+      
   NotifyControllerObservers( ECamEventRecordComplete,   aStatus );
   SetOperation( ECamNoOperation );
   PRINT( _L( "Camera <> calling HandleCaptureCompletion.." ) )        
@@ -2122,6 +2114,7 @@
         else
             {
             // start video pause timeout
+            iIdleTimer->SetTimeout( iLongIdleTimeout );            
             StartIdleTimer();
             }
         }  
@@ -2139,6 +2132,7 @@
   PRINT( _L("Camera => CCamAppController::ContinueVideoRecording") );
   if ( ECamPaused == CurrentVideoOperation() )
     {
+    iIdleTimer->SetTimeout( KIdleTimeout ); //Set normal idle timeout value
     SetOperation( ECamResuming );
     // Restart video when sound played
     PlaySound( ECamVideoResumeSoundId, ETrue );        
@@ -3470,7 +3464,7 @@
            scene != ECamSceneSports && 
            !iSceneModeForcedBySecondaryCamera )
           {
-          PRINT1( _L("Camera MK: Changing face tracking state -> update iPreviousFaceTrack to %d"), aSettingValue );
+          PRINT1( _L("Camera <> Changing face tracking state -> update iPreviousFaceTrack to %d"), aSettingValue );
           iSettingsModel->SetPreviousFaceTrack( static_cast<TCamSettingsOnOff>( aSettingValue ) );
           }
       
@@ -4791,6 +4785,8 @@
   , iRamDiskCriticalLevel( KErrNotFound )
   , iImageOrientation( ECamOrientation0 )
   , iLastImageOrientation( ECamOrientation0 )
+  , iLongIdleTimeout( KIdleTimeout * 5 )
+  , iPlugin( TUid::Null() )
   , iPendingHdmiEvent( ECamHdmiNoEvent )
   {
   }
@@ -6638,6 +6634,38 @@
 
 
 // ---------------------------------------------------------------------------
+// CCamAppController::SetIdleTimerTimeout
+// ---------------------------------------------------------------------------
+//
+void CCamAppController::SetIdleTimerTimeout( TBool aLong )
+    {
+    PRINT1( _L( "Camera => CCamAppController::SetIdleTimerTimeout aLong=%d" ),aLong );
+    TBool changed = EFalse;
+    if( aLong )
+        {
+        if( iLongIdleTimeout < ( KIdleTimeout * 5 ) )
+            {
+            iLongIdleTimeout = KIdleTimeout * 5;
+            changed = ETrue;
+            }
+        }
+    else
+        {
+        if( iLongIdleTimeout > KIdleTimeout )
+            {
+            iLongIdleTimeout = KIdleTimeout; //Low power. Set normal idle timeout value
+            changed = ETrue;            
+            }
+        }
+    
+    if( changed && ECamPaused == CurrentVideoOperation() )
+        {
+        iIdleTimer->SetTimeout( iLongIdleTimeout );            
+        }
+    PRINT1( _L( "Camera <= CCamAppController::SetIdleTimerTimeout changed=%d" ),changed );
+    }
+
+// ---------------------------------------------------------------------------
 // CCamAppController::IdleTimeoutL
 // ---------------------------------------------------------------------------
 //
@@ -6652,9 +6680,10 @@
 //
 TInt CCamAppController::DoIdleTimeoutL()
   {
-  // if a video recording has been paused for 60 seconds without key presses
+  // if a video recording has been paused for 5 minutes without key presses
   if ( ECamPaused == CurrentVideoOperation() )
     {
+    iIdleTimer->SetTimeout( KIdleTimeout ); //Set normal idle timeout value
     NotifyControllerObservers( ECamEventVideoPauseTimeout, KErrNone );
     }
 
@@ -6703,7 +6732,7 @@
     // don't restart if recording operation in progress
     return;
     }
-  // if recording is paused, use the idle timer to stop recording after 60 secs
+  // if recording is paused, use the idle timer to stop recording after 5 mins
   else
     {
     PRINT( _L( "Camera <> CCamAppController::StartIdleTimer else part" ) );
@@ -9800,7 +9829,11 @@
       {
       PRINT( _L("Camera <> starting recording..") );
       iVideoRequested = EFalse;
-      IssueRequestL( ECamRequestVideoStart );
+      // Make sure the MMC have enough free memory to record video.  
+      if( appUi->CheckMemoryL() )
+        {  
+        IssueRequestL( ECamRequestVideoStart );
+    	}
       PRINT( _L("Camera <> ..done") );
       }
 
@@ -10580,7 +10613,7 @@
 //
 // -----------------------------------------------------------------------------
 //
-void CCamAppController::SetSettingsPlugin( CCamGSInterface* aPlugin )
+void CCamAppController::SetSettingsPlugin( TUid aPlugin )
 	{
 	iPlugin = aPlugin;
 	}
@@ -10908,9 +10941,7 @@
           else if( aType == EDriveDismount &&
                   appUi->IsRecoverableStatus() )
               {
-              TInt mmcInserted = 0;
               TInt usbPersonality = 0;
-              User::LeaveIfError( RProperty::Get( KPSUidUikon, KUikMMCInserted, mmcInserted ) );
               User::LeaveIfError(RProperty::Get(KPSUidUsbWatcher, 
                                             KUsbWatcherSelectedPersonality,
                                             usbPersonality) );
@@ -10921,7 +10952,7 @@
                       {
                       SwitchToStandbyL( ECamErrMassStorageMode );
                       }
-                  else if ( !mmcInserted )
+                  else if ( aType == EDriveDismount )
                       {
                       SwitchToStandbyL( ECamErrMemoryCardNotInserted );
                       }
--- a/camerauis/cameraapp/generic/src/CamAppui.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamAppui.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -3894,6 +3894,7 @@
         CleanupStack::PushL( plugin );
         AddViewL( plugin ); // Transfer ownership to AppUi
         CleanupStack::Pop( plugin );
+        iController.SetSettingsPlugin( plugin->iDtor_ID_Key );
         iPlugin = plugin;        
         }
       break;
@@ -4627,8 +4628,8 @@
     			"e_CCamAppUi_CheckMemoryL 1" );
     PRINT( _L("Camera => CCamAppUi::CheckMemoryL") );
     TBool capture = ETrue;
-
-    if ( IsMemoryAvailableForCapturing() )
+    if ( ( ECamControllerImage == iController.CurrentMode() ) &&  
+            IsMemoryAvailableForCapturing() )
         {
         capture = ETrue; 
         }
--- a/camerauis/cameraapp/generic/src/CamContainerBase.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamContainerBase.cpp	Wed Sep 15 11:51:19 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"
@@ -394,7 +394,12 @@
             aKeyEvent.iCode == EKeyOK && 
             aKeyEvent.iRepeats == 0 )
     {
-    iView.HandleCommandL( EAknSoftkeySelect );
+    if( !iController.IsDemandKeyRelease() )
+        {
+        // Forward selection key event if button has been released 
+        // after last video capture
+        iView.HandleCommandL( EAknSoftkeySelect );
+        }
     return EKeyWasConsumed; // indicate key press was processed
     }
     // stop video or sequence if get applications key press (short or long)
--- a/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -37,7 +37,7 @@
 #include <akntoolbar.h>
 #include <aknbutton.h>
 #include <StringLoader.h>
-
+#include <aknnotewrappers.h>
 
 #include "Cam.hrh"
 #include "CamUtility.h"
@@ -965,12 +965,17 @@
     }
 
 /*
-* CCamPostCaptureViewBase::AddToAlbumIdOperationComplete()
+* CCamPostCaptureViewBase::AddToAlbumIdOperationCompleteL()
 */
-void CCamPostCaptureViewBase::AddToAlbumIdOperationComplete()
+void CCamPostCaptureViewBase::AddToAlbumIdOperationCompleteL()
     { 
-    PRINT( _L("Camera => CCamPostCaptureViewBase::AddToAlbumIdOperationComplete() ... SUCCESS ") );
+    PRINT( _L("Camera => CCamPostCaptureViewBase::AddToAlbumIdOperationCompleteL() ... SUCCESS ") );
     iAddToAlbumRequestOngoing = EFalse;
+        
+    HBufC* infoText = StringLoader::LoadL( R_NOTE_ADDED_ONE_ITEM_ALBUM );
+    CAknConfirmationNote* confNote =  new( ELeave ) CAknConfirmationNote( ETrue );
+    confNote->ExecuteLD( *infoText );
+
     }
 
 
--- a/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -75,10 +75,10 @@
 
 const TInt KIndicatorBlinkDelay = 250 * 1000;
 const TInt KNumberOfBlinks = 3;
-const TInt KNumberOfBlinksVideo = 8;
+const TInt KNumberOfBlinksVideo = 7;
 
 const TSize  KCaptureButtonSize( 50, 50 );
-const TSize  KAdditionalArea( 25, 11 );
+const TSize  KAdditionalArea( 25, 9 );
 const TInt32 KCaptureButtonYDelta( 10 );
 
 // Snapshot data is needed in timelapse mode
@@ -2414,6 +2414,13 @@
 
     DeactivateGc();        
     }
+  if( iBatteryPaneController )
+      {
+      if( ECamControllerVideo == iController.CurrentMode() ) 
+          {
+          iController.SetIdleTimerTimeout( !iBatteryPaneController->IsBatteryLow() );
+          }      
+      }
   
   }
 
--- a/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -558,7 +558,7 @@
                 ( iController.CurrentOperation() != ECamCapturing && iController.CurrentOperation() != ECamPaused ) );
 
         TBool precaptureToolbarState = !appUi->IsBurstEnabled()
-                && !iStandbyModeActive && !appUi->IsInPretendExit();
+                && !iStandbyModeActive && !appUi->IsInPretendExit() && !iController.IsKeyLockOn();
         
         if ( ( ECamCameraPreparedImage == iController.CameraState() || 
                 showVideoModeToolbar ) &&     
--- a/camerauis/cameraapp/generic/src/CamShootingModeContainer.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamShootingModeContainer.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -674,8 +674,8 @@
                 {
                 // the description of the icon
                 HBufC* Description;
-                TInt description = R_CAM_SCENE_DESCRIPTION_LANDSCAPE_AUTOFOCUS;
-                Description = StringLoader::LoadL( description );
+                TInt DescResouceId = R_CAM_SCENE_DESCRIPTION_LANDSCAPE_AUTOFOCUS;
+                Description = StringLoader::LoadL( DescResouceId );
                 User::LeaveIfError( iDescArray.Append( Description ) );
                 delete descr;
                 descr = NULL;
--- a/camerauis/cameraapp/generic/src/CamTimer.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/CamTimer.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -73,6 +73,11 @@
 void CCamTimer::SetTimeout( TInt aTimeout )
     {
     iTimeout = aTimeout;
+    if( IsActive() )
+        {
+        Cancel();
+        StartTimer();
+        }
     }   
 
 // ---------------------------------------------------------------------------
--- a/camerauis/cameraapp/generic/src/cambatterypanecontroller.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/cambatterypanecontroller.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -157,6 +157,19 @@
     iCallbackActive = aActive;
     }
 
+
+// ---------------------------------------------------------------------------
+// CCamBatteryPaneController::IsBatteryLow
+// ---------------------------------------------------------------------------
+//    
+TBool CCamBatteryPaneController::IsBatteryLow()
+    {
+    return ( ( iBatteryStrength >= 0 )&& ( iBatteryStrength <= 2 )
+            && !iRecharging );
+    }
+
+
+
 // ---------------------------------------------------------------------------
 // CCamBatteryPaneController::SetBatteryStrength
 // ---------------------------------------------------------------------------
--- a/camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -26,11 +26,6 @@
 
 // CONSTANTS
 _LIT(KCamBitmapFile, "z:\\resource\\apps\\cameraapp.mif");
-const TSize KIconSize( 35, 35 );
-const TSize KAdditionalArea( 25, 11 );
-const TInt32 KCaptureIconDelta( 7 );
-const TUint32 KToolbarExtensionBgColor = 0x00000000;
-const TInt KToolBarExtensionBgAlpha = 0x7F;
 const TInt KCaptureButtonOrdinalPriority( 1 );
 const TSize KIconMargin( 7, 7 );
 
--- a/camerauis/cameraapp/generic/src/camtvaccessorymonitor.cpp	Tue Sep 14 20:46:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/camtvaccessorymonitor.cpp	Wed Sep 15 11:51:19 2010 +0300
@@ -15,7 +15,7 @@
 */
 
 #include <eikenv.h>
-#include <accpolgenericiddefinitions.h> 
+#include <AccPolGenericIdDefinitions.h>
 #include <AccPolSubblockNameArray.h>
 
 #include "camtvaccessorymonitor.h"