# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1282199817 -10800 # Node ID f54ad444594dfe06d0429a7722f0f1120d5bda52 # Parent 289bbfdb66274941293b22ed3784d13b808f9f5c Revision: 201031 Kit: 201033 diff -r 289bbfdb6627 -r f54ad444594d camerauis/activepalette/Group/ActivePalette2.mmp --- a/camerauis/activepalette/Group/ActivePalette2.mmp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/activepalette/Group/ActivePalette2.mmp Thu Aug 19 09:36:57 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 diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/build/cameraapp.mmp --- a/camerauis/cameraapp/build/cameraapp.mmp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/build/cameraapp.mmp Thu Aug 19 09:36:57 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 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,13 +317,13 @@ 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 @@ -335,7 +335,7 @@ LIBRARY cntmodel.lib #ifndef __WINSCW__ -LIBRARY locationtrail.lib +LIBRARY Locationtrail.lib #ifdef RD_MDS_2_5 LIBRARY locationmanager.lib #endif //RD_MDS_2_5 @@ -344,7 +344,7 @@ LIBRARY oommonitor.lib LIBRARY aknnotify.lib -LIBRARY imagingconfigmanager.lib +LIBRARY ImagingConfigManager.lib LIBRARY touchfeedback.lib #ifdef RD_UI_TRANSITION_EFFECTS_LIST diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/build/iconlist.txt --- a/camerauis/cameraapp/build/iconlist.txt Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/build/iconlist.txt Thu Aug 19 09:36:57 2010 +0300 @@ -165,3 +165,15 @@ -c8,8 qgn_menu_cams.svg -c8,1 qgn_indi_vid4_tb_still.svg -c8,1 qgn_indi_vid4_tb_video.svg +-c8,8 qgn_indi_cam4_battery_strength_0.svg +-c8,8 qgn_indi_cam4_battery_strength_1.svg +-c8,8 qgn_indi_cam4_battery_strength_2.svg +-c8,8 qgn_indi_cam4_battery_strength_3.svg +-c8,8 qgn_indi_cam4_battery_strength_4.svg +-c8,8 qgn_indi_cam4_battery_strength_5.svg +-c8,8 qgn_indi_cam4_battery_strength_6.svg +-c8,8 qgn_indi_cam4_battery_strength_7.svg +-c8,8 qgn_indi_cam4_capture_image.svg +-c8,8 qgn_indi_cam4_capture_image_pressed.svg +-c8,8 qgn_indi_cam4_capture_video.svg +-c8,8 qgn_indi_cam4_capture_video_pressed.svg \ No newline at end of file diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/conf/cameraapp.confml Binary file camerauis/cameraapp/conf/cameraapp.confml has changed diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/conf/cameraapp_101FFA86.crml Binary file camerauis/cameraapp/conf/cameraapp_101FFA86.crml has changed diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/group/gscameraplugin.mmp Thu Aug 19 09:36:57 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 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 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 diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h Thu Aug 19 09:36:57 2010 +0300 @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include "CamStaticSettingsModel.h" diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/common/data/CamStillCaptureCamcorder.ra --- a/camerauis/cameraapp/generic/common/data/CamStillCaptureCamcorder.ra Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/common/data/CamStillCaptureCamcorder.ra Thu Aug 19 09:36:57 2010 +0300 @@ -905,6 +905,11 @@ }, MENU_ITEM { + command = ECamCmdEditPhoto; + txt = qtn_options_image_editor; + }, + MENU_ITEM + { command = KAiwCmdAssign; txt = qtn_lcam_use_image_postcapture_menu; cascade = AIW_INTELLIGENT_CASCADE_ID; diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/common/data/CamVideoCaptureCamcorder.ra --- a/camerauis/cameraapp/generic/common/data/CamVideoCaptureCamcorder.ra Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/common/data/CamVideoCaptureCamcorder.ra Thu Aug 19 09:36:57 2010 +0300 @@ -956,6 +956,11 @@ }, MENU_ITEM { + command = ECamCmdEditVideo; + txt = qtn_options_video_editor; + }, + MENU_ITEM + { command = ECamCmdShareOnOvi; // AIW provider fills the menu item title. // No submenu, only 1 provider acccepted. diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/common/inc/CamSettings.hrh --- a/camerauis/cameraapp/generic/common/inc/CamSettings.hrh Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/common/inc/CamSettings.hrh Thu Aug 19 09:36:57 2010 +0300 @@ -279,6 +279,13 @@ ESwitchSecondaryOrientation }; +enum TCamEditorSupport + { + ECamNoEditorSupport, + ECamEditorSupportInToolbar, + ECamEditorSupportInOptions + }; + #ifdef _DEBUG #ifndef CAMERAAPP_PLUGIN_BUILD const TUint16* const KCamOrientationNames[] = diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/common/inc/CameraappPrivateCRKeys.h --- a/camerauis/cameraapp/generic/common/inc/CameraappPrivateCRKeys.h Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/common/inc/CameraappPrivateCRKeys.h Thu Aug 19 09:36:57 2010 +0300 @@ -87,6 +87,8 @@ // Customise Toolbar keys const TUint32 KCamCrImageToolbarItems = 0x58; const TUint32 KCamCrImageToolbarDefaultItems = 0x59; +//Ftu message key +const TUint32 KCamCrFtuMessageFlag = 0x60; //Support for Photo and Video editor const TUint32 KCamCrPhotoEditorSupport = 0x5A; diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/data/cameraapp.rss --- a/camerauis/cameraapp/generic/data/cameraapp.rss Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/data/cameraapp.rss Thu Aug 19 09:36:57 2010 +0300 @@ -99,5 +99,54 @@ }; } +// --------------------------------------------------------- +// +// r_ftu_message_dialog_text +// FTU message dialog text +// --------------------------------------------------------- +// +RESOURCE TBUF r_ftu_message_dialog_text { buf=qtn_lcam_location_ftu_text; } + +// --------------------------------------------------------- +// +// r_ftu_message_hyperlink_text +// FTU message hyperlink text +// --------------------------------------------------------- +// +RESOURCE TBUF r_ftu_message_hyperlink_text{ buf=qtn_lcam_location_ftu; } + + +// --------------------------------------------------------- +// +// r_ftu_message_dialog +// The FTU message dialog resource +// --------------------------------------------------------- +// +RESOURCE DIALOG r_ftu_message_dialog + { + flags=EEikDialogFlagNoDrag |EEikDialogFlagCbaButtons |EEikDialogFlagWait; + buttons = R_AVKON_SOFTKEYS_OK_EMPTY; + items = + { + DLG_LINE + { + type = EAknCtPopupHeadingPane; + id = EAknMessageQueryHeaderId; + control = AVKON_HEADING + { + headinglayout = R_AVKON_LIST_HEADING_PANE_POPUPS; + }; + }, + DLG_LINE + { + type = EAknCtMessageQuery; + id = EAknMessageQueryContentId; + control = AVKON_MESSAGE_QUERY + { + message = ""; + }; + } + }; + } // =========================================================================== // end of file diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/inc/CamAppUi.h --- a/camerauis/cameraapp/generic/inc/CamAppUi.h Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/inc/CamAppUi.h Thu Aug 19 09:36:57 2010 +0300 @@ -68,6 +68,8 @@ class CCamStillPreCaptureView; class CCamVideoPreCaptureView; class CCamMemoryMonitor; +//FTU message display class +class CCamFtuDisplay; class CCamStartupLogoController; @@ -198,16 +200,36 @@ */ void FileCheckingCompleteL( TInt aStatus, TInt aError ); - // ------------------------------------------------------- - // New functions - public: - /** - * Returns whether or the toolbar has been activated/visible - * Will return ETrue when when the toolbar is active/visible - * @since 3.2 - * @return ETrue if toolbar is active/visible, else returns EFalse - */ - virtual TBool IsToolBarVisible() const; + // ------------------------------------------------------- + // New functions +public: + /* + * HyperlinkCallback + * static methode to be called from TCallback + */ + + static TInt HyperlinkCallback( TAny* aAny ); + + /** + * CamFtuDisplayL + * Check if camera is launching for first time , + * accordingly FTU Message will be displayed. + */ + void CamFtuDisplayL(); + + /** + * OpenSettingView + * Non static public method , to launch the settings view + */ + void OpenSettingView(); + + /** + * Returns whether or the toolbar has been activated/visible + * Will return ETrue when when the toolbar is active/visible + * @since 3.2 + * @return ETrue if toolbar is active/visible, else returns EFalse + */ + virtual TBool IsToolBarVisible() const; /** * Check if given view state indicates that "internal", @@ -1874,6 +1896,12 @@ CCamStartupLogoController* iStartupLogoController; TBool iVideoClipPlayInProgress; + + /** + * iCamFtuDisplay + * An instance of the CCamFtuDisplay class + */ + CCamFtuDisplay* iCamFtuDisplay; }; // =========================================================================== diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/inc/cambatterypanedrawer.h --- a/camerauis/cameraapp/generic/inc/cambatterypanedrawer.h Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/inc/cambatterypanedrawer.h Thu Aug 19 09:36:57 2010 +0300 @@ -114,13 +114,6 @@ void LoadLayoutsL(); /** - * Calculate height of - * @param aLevel Battery level - * @return height - */ - TInt BatteryStrengthIconHeight( TInt aLevel ) const; - - /** * Load icons needed for drawing the battery pane */ void LoadIconsL(); @@ -145,10 +138,9 @@ // Battery strength TInt iBatteryStrength; - // Battery strength and battery icon - CCamBitmapItem* iBatteryIcon; // own - CCamBitmapItem* iBatteryStrengthIcon; // own - + + RPointerArray iBatteryIcons; + // Rectangle of the battery pane TRect iRect; diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/inc/camcapturebuttoncontainer.h --- a/camerauis/cameraapp/generic/inc/camcapturebuttoncontainer.h Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/inc/camcapturebuttoncontainer.h Thu Aug 19 09:36:57 2010 +0300 @@ -135,7 +135,9 @@ // Icons and rect for capturing image CFbsBitmap *iCaptureIcon; - CFbsBitmap *iCaptureMask; + CFbsBitmap *iCaptureIconMask; + CFbsBitmap *iCaptureIconPressed; + CFbsBitmap *iCaptureIconPressedMask; TRect iCaptureRect; TBool iCaptureButtonShown; TBool iCaptureButtonPressed; diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/inc/camtvaccessorymonitor.h --- a/camerauis/cameraapp/generic/inc/camtvaccessorymonitor.h Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/inc/camtvaccessorymonitor.h Thu Aug 19 09:36:57 2010 +0300 @@ -22,7 +22,7 @@ #include // for RAccessoryServer #include // for RAccessoryMode #include // for RAccessoryConnection -#include +#include class MCamTvAccessoryObserver diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamAppController.cpp --- a/camerauis/cameraapp/generic/src/CamAppController.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamAppController.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -2563,6 +2563,22 @@ SetCameraOrientationModeL( landscapeScreenMode ); } iCameraController->CompleteSwitchCameraL(); + // Force to get a sensor data after switch camera from primary to secondary + // when always holding in camera with portrait mode. + if( iConfigManager + && iConfigManager->IsOrientationSensorSupported() ) + { + if( iAccSensorListening ) + { + iAccSensorListening = EFalse; + } + if( iAccSensorChannel ) + { + delete iAccSensorChannel; + iAccSensorChannel = NULL; + } + TRAP_IGNORE( UpdateSensorApiL( ETrue ) ); + } // Camera switched. // a) Set current camera index to the new one. @@ -3995,6 +4011,7 @@ // TBool CCamAppController::IsAppUiAvailable() const { + PRINT1(_L("Camera <> CCamAppController::IsAppUiAvailable=%d"),iAppUiAvailable); return iAppUiAvailable; } @@ -8754,6 +8771,26 @@ PRINT( _L("Camera => CCamAppController::StartLocationTrailL") ); CCamAppUi* appUI = static_cast( CEikonEnv::Static()->AppUi() ); + if( !iRepository ) + { + iRepository = CRepository::NewL( KCRUidCameraappSettings ); + } + + TInt ftuValue=-1; + TInt retErr=0; + retErr = iRepository->Get( KCamCrFtuMessageFlag, ftuValue ); + if( ftuValue == 0 ) + { + return; + } + + if( iRepository ) + { + delete iRepository; + iRepository = NULL; + } + + // If a stop request is pending but the trail is being restarted, stop // and delete the timer if( iLocationTrailTimer ) diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamAppui.cpp --- a/camerauis/cameraapp/generic/src/CamAppui.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamAppui.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -63,6 +63,7 @@ #include #include +#include #include "CameraappPrivateCRKeys.h" #include "CamAppUi.h" @@ -146,7 +147,45 @@ | ECamCameraEventClassVfControl | ECamCameraEventClassSsControl | ECamCameraEventClassSettings ); - +/** + * class CCamFtuDisplay + * This class is used to give a notification to Camera First Time User regarding the + * geotagging of captured images or videos. + */ + +class CCamFtuDisplay : public CAsyncOneShot + { +public: + /** + * CCamFtuDisplay + * Default Constructor + */ + CCamFtuDisplay( CCamAppUi * aCamAppUi ) + : CAsyncOneShot( CActive::EPriorityLow), iCamAppUi(aCamAppUi) + { + } + enum TEnableCamFtu + { + ECamFtuEnable = 0, + ECamFtuDisable + }; + +protected: + /** + * RunL + * Callback method + */ + void RunL() + { + iCamAppUi->CamFtuDisplayL(); + } +private: + /** + * iCamAppUi + * An instance of the CCamAppUi + */ + CCamAppUi* iCamAppUi; + }; // =========================================================================== @@ -252,6 +291,12 @@ delete iCollectionManager; iCollectionManager = NULL; + if( iCamFtuDisplay ) + { + delete iCamFtuDisplay; + iCamFtuDisplay = NULL; + } + PRINT( _L("Camera <= ~CCamAppUi" )) } @@ -662,7 +707,20 @@ PRINT( _L("Camera <= CCamAppUi::ConstructL") ) OstTrace0( CAMERAAPP_PERFORMANCE_DETAIL, DUP3_CCAMAPPUI_CONSTRUCTL, "e_CCamAppUi_ConstructL 0" ); - } + + // To get FTU flag value + + TInt ftuValue=0; + TInt retErr=0; + retErr=iRepository->Get( KCamCrFtuMessageFlag, ftuValue ); + + if( !IsEmbedded() && ftuValue == CCamFtuDisplay::ECamFtuEnable + && retErr==KErrNone ) + { + iCamFtuDisplay = new (ELeave)CCamFtuDisplay(this); + iCamFtuDisplay->Call(); + } + } @@ -694,9 +752,73 @@ PRINT1( _L("Camera <= CCamAppUi::IsInternalView, return %d"), internal ); return internal; } - - - +// ----------------------------------------------------------------------------- +// CCamAppUi:: HyperlinkCallback +// Call back method for the hyper link text +// ----------------------------------------------------------------------------- +// +TInt CCamAppUi:: HyperlinkCallback(TAny* aAny) + { + (static_cast(aAny))->OpenSettingView(); + return EFalse; + } +// ----------------------------------------------------------------------------- +// CCamAppUi::OpenSettingView +// Non static public method , to launch the settings view +// ----------------------------------------------------------------------------- +// +void CCamAppUi::OpenSettingView() + { + TRAP_IGNORE( HandleCommandL( ECamCmdSettings ) ); + } +// ----------------------------------------------------------------------------- +// CCamAppUi::CamFtuDisplayL() +// TO Display FTU message for first time camera launched +// ----------------------------------------------------------------------------- +// +void CCamAppUi::CamFtuDisplayL() + { + + iController.SetIntegerSettingValueL( ECamSettingItemRecLocation, ECamLocationOn ); + + CAknMessageQueryDialog* dlg = + new (ELeave) CAknMessageQueryDialog(); + dlg->PrepareLC( R_FTU_MESSAGE_DIALOG ); + HBufC* msg = iEikonEnv->AllocReadResourceLC( R_FTU_MESSAGE_DIALOG_TEXT ); + HBufC* hyperLinkMsg = iEikonEnv->AllocReadResourceLC( + R_FTU_MESSAGE_HYPERLINK_TEXT ); + + TInt len = msg->Length() + + hyperLinkMsg->Length() + + KOpeningLinkTag().Length() + + KClosingLinkTag().Length(); + + HBufC* displayMsg = HBufC::NewLC( len ); + _LIT(KMsgFormat, "%S%S%S%S"); + displayMsg->Des().Format(KMsgFormat, + msg, + &KOpeningLinkTag(), + hyperLinkMsg, + &KClosingLinkTag()); + + dlg->SetMessageTextL( *displayMsg ); + CleanupStack::PopAndDestroy(3); //msg, hyperLinkMsg, displayMsg + + TCallBack callback( HyperlinkCallback, this ); + + dlg->SetLink( callback ); + + dlg->RunLD(); + + iRepository->Set( KCamCrFtuMessageFlag, CCamFtuDisplay::ECamFtuDisable ); + + //Read the location record value in case its changed by hyperlink + + TInt value = 0; + iRepository->Get( KCamCrPhotoStoreLocation, value ); + iController.SetIntegerSettingValueL( ECamSettingItemRecLocation, value ); + + } // ----------------------------------------------------------------------------- // CCamAppUi::IsConstructionComplete // Returns whether or not all construction has completed @@ -895,7 +1017,14 @@ // In capture setup mode, toolbar and indicators are not visible // They will be updated when returning to precap, similarily to // when setting the self timer mode above - if( iPreCaptureMode != ECamPreCapCaptureSetup ) + // during changing from still pre-capture view to video pre-capture view, no need + // to show toolbar of still image. It will display toolbar of video when entering video pre-capture + + if( ( iPreCaptureMode != ECamPreCapCaptureSetup && + iPreCaptureMode != ECamPreCapSceneSetting ) && + !( IsViewFinderInTransit() && + iMode == ECamControllerImage && + iTargetMode == ECamControllerVideo ) ) { // Re-show the active palette iActivePaletteHandler->UpdateActivePaletteL(); @@ -922,6 +1051,14 @@ } UpdateCba(); + CCamViewBase* precapView = static_cast( iView ); + if( precapView && + IsViewFinderInTransit() && + iMode == ECamControllerImage && + iTargetMode == ECamControllerVideo ) + { + precapView->ViewCba()->DrawNow(); + } } } @@ -1474,7 +1611,10 @@ SetActivePaletteVisibility( EFalse ); // Update CBA - UpdateCba(); + if ( iSelfTimer && iSelfTimer->IsActive() ) + { + UpdateCba(); + } } } break; @@ -2007,6 +2147,10 @@ } } } + else + { + SetToolbarVisibility(); + } iFirstVFStart = EFalse; PRINT( _L( "Camera <> CCamAppUi::HandleCameraEventL updating CBA") ); @@ -3943,7 +4087,7 @@ { iController.ReleaseArray( ETrue ); } - if ( iPreCaptureMode != ECamPreCapTimeLapseSlider ) + if ( iPreCaptureMode != ECamPreCapTimeLapseSlider && !IsEmbedded() ) { iPreCaptureMode = ECamPreCapViewfinder; } diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamBurstThumbnailView.cpp --- a/camerauis/cameraapp/generic/src/CamBurstThumbnailView.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamBurstThumbnailView.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -716,7 +716,7 @@ iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU, R_CAM_MOVE_TO_STILL_IMAGE_SEQUENCE_INTEREST ); - if ( iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport) ) + if ( iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport) != ECamNoEditorSupport ) { iAiwServiceHandler->AttachMenuL( R_CAM_BURST_THUMBNAIL_MENU, R_CAM_SET_AS_CALL_IMAGE_INTEREST_EDITOR ); diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp --- a/camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -393,7 +393,7 @@ ( IsCaptureKeyL( aKeyEvent, aType ) || IsShutterKeyL( aKeyEvent, aType ) ) ) ) { TKeyResponse response = iCaptureSetupControl->OfferKeyEventL( aKeyEvent, aType ); - if ( aType == EEventKey && response == EKeyWasNotConsumed && + if ( aType == EEventKey && response == EKeyWasNotConsumed && aKeyEvent.iCode != EKeyOK && ( ECamSettingItemDynamicPhotoFlash == iControlHandler.SettingType() || ECamSettingItemDynamicSelfTimer == iControlHandler.SettingType() ) ) { diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamCaptureSetupSlider.cpp --- a/camerauis/cameraapp/generic/src/CamCaptureSetupSlider.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamCaptureSetupSlider.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -636,7 +636,7 @@ { // Set the shaft layout and icon size for Contrast slider iShaftLayout.LayoutRect( sliderRect, - AknLayoutScalable_Apps::cset_slider_pane( 7 ) ); + AknLayoutScalable_Apps::cset_slider_pane( 5 ) ); // set Contrast slider legend layouts TouchContrastLayoutL( sliderRect ); } diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamInfoListBoxContainer.cpp --- a/camerauis/cameraapp/generic/src/CamInfoListBoxContainer.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamInfoListBoxContainer.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -597,7 +597,15 @@ case EEventItemSingleClicked: { TInt settingValue = CurrentSettingItemValue(); - iController.PreviewSettingChangeL( ECamSettingItemDynamicPhotoLightSensitivity, settingValue ); + + if ( iView.Id().iUid == ECamViewIdPhotoUserSceneSetup ) + { + iController.PreviewSettingChangeL( ECamSettingItemUserSceneLightSensitivity, settingValue ); + } + else + { + iController.PreviewSettingChangeL( ECamSettingItemDynamicPhotoLightSensitivity, settingValue ); + } } break; default: diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamNewFileService.cpp --- a/camerauis/cameraapp/generic/src/CamNewFileService.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamNewFileService.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -69,13 +69,13 @@ if ( !iCompleted && iObserver ) { TRAP_IGNORE( iObserver->HandleCompletedNewServiceL( EFalse ) ); - CCamAppUi* appUi = static_cast< CCamAppUi* >( CEikonEnv::Static()->EikAppUi() ); - if ( appUi ) - { - // Tell appui 'this' is not valid MCamEmbeddedObserver pointer anymore - appUi->SetEmbeddedObserver( NULL ); - } } + CCamAppUi* appUi = static_cast< CCamAppUi* >( CEikonEnv::Static()->EikAppUi() ); + if ( appUi ) + { + // Tell appui 'this' is not valid MCamEmbeddedObserver pointer anymore + appUi->SetEmbeddedObserver( NULL ); + } PRINT( _L("Camera <= ~CCamNewFileService") ); } diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp --- a/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamPostCaptureViewBase.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -217,6 +217,8 @@ break; case KAiwCmdEdit: case ECamCmdEdit: + case ECamCmdEditPhoto: + case ECamCmdEditVideo: { CAiwGenericParamList& inputParams = iAiwServiceHandler->InParamListL(); TPtrC currentFullFileName(iController.CurrentFullFileName()); @@ -582,7 +584,8 @@ { fixedToolbar->SetToolbarObserver( this ); UpdateToolbarIconsL(); - if( Id().iUid != ECamViewIdVideoPostCapture && !appui->IsSelfTimedCapture() ) + if( Id().iUid != ECamViewIdVideoPostCapture && !appui->IsSelfTimedCapture() && + !iController.SavedCurrentImage() ) { fixedToolbar->SetDimmed(ETrue); } diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp --- a/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamPreCaptureContainerBase.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -981,7 +981,7 @@ // Cancel timer if we're losing focus iZoomTimer->Cancel(); - if ( !iShuttingDown ) + if ( iController.IsAppUiAvailable() && !iShuttingDown ) { iSidePane->MakeVisible( ETrue ); iZoomPane->MakeVisible( EFalse, EFalse ); @@ -2929,7 +2929,8 @@ iDrawIndicator = ETrue; } - if ( iCaptureButtonContainer ) + CCamAppUi* appUi = static_cast( iEikonEnv->AppUi() ); + if ( iCaptureButtonContainer && !( appUi && appUi->SelfTimerEnabled() ) ) { iCaptureButtonContainer->SetCaptureButtonShown( EFalse ); } diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp --- a/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -1877,7 +1877,8 @@ } else if ( EAknTouchGestureFwDoubleTap == aEvent.Type() && ( ECamNoOperation == iController.CurrentOperation() - || ( ECamCapturing == iController.CurrentOperation() + || ( ( ECamCapturing == iController.CurrentOperation() + || ECamPaused == iController.CurrentOperation() ) && iController.CurrentMode() == ECamControllerVideo ) ) ) { PRINT( _L("Camera <> double tap event") ); diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamStandbyContainer.cpp --- a/camerauis/cameraapp/generic/src/CamStandbyContainer.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamStandbyContainer.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -201,7 +201,7 @@ !static_cast( iEikonEnv->AppUi() )->IsSecondCameraEnabled() ) || ( IsCaptureKeyL(aKeyEvent, aType)) ) { - // in case we receive an enter key or MSK key event in standby mode + // in case we receive MSK key event in standby mode // we should not call HandleCommandL function with ECamCmdExitStandby // because by default application will get a left softkey command id // when MSK is pressed. In standby mode left softkey command id is @@ -209,8 +209,7 @@ if ( !( ( aType == EEventKey || aType == EEventKeyDown || aType == EEventKeyUp ) && - ( aKeyEvent.iScanCode == EStdKeyDevice3 || - aKeyEvent.iScanCode == EStdKeyEnter ) ) ) + aKeyEvent.iScanCode == EStdKeyDevice3 ) ) { iView.HandleCommandL( ECamCmdExitStandby ); } diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamStillPostCaptureView.cpp --- a/camerauis/cameraapp/generic/src/CamStillPostCaptureView.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamStillPostCaptureView.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -342,7 +342,7 @@ iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID), R_CAM_AIW_VIEW_INTEREST ); - if ( iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport) ) + if ( iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport) != ECamNoEditorSupport ) { iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID), R_CAM_SET_AS_CALL_IMAGE_INTEREST_EDITOR ); @@ -558,46 +558,34 @@ if ( aResourceId == ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID ) || aResourceId == ROID( R_CAM_STILL_POST_CAPTURE_OK_MENU_ID ) ) { - TBool showSend = ETrue; - TBool showSendToCaller = EFalse; - -/*#ifndef __WINS__ - if ( iSFIUtils->IsCLIValidL() ) - { - showSend = EFalse; - showSendToCaller = ETrue; - } -#endif*/ - - TCamOrientation orientation = - static_cast( AppUi() )->CamOrientation(); - - if ( orientation == ECamOrientationCamcorder || - orientation == ECamOrientationCamcorderLeft || - orientation == ECamOrientationPortrait ) - { - showSend = EFalse; - showSendToCaller = EFalse; - } - TInt itemPos = 0; if ( aMenuPane->MenuItemExists( ECamCmdSendToCallerMultimedia, itemPos ) ) { aMenuPane->SetItemDimmed( - ECamCmdSendToCallerMultimedia, !showSendToCaller ); + ECamCmdSendToCallerMultimedia, ETrue ); } - if(iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport)) - { - showSend = ETrue; - } + TInt editorSupport = iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport); - if ( aMenuPane->MenuItemExists( ECamCmdSend, itemPos ) ) + if( editorSupport == ECamNoEditorSupport || + editorSupport == ECamEditorSupportInOptions ) { - aMenuPane->SetItemDimmed( - ECamCmdSend, !showSend ); - } - + if ( aMenuPane->MenuItemExists( ECamCmdSend, itemPos ) ) + { + aMenuPane->SetItemDimmed( + ECamCmdSend, ETrue ); + } + } + if( editorSupport == ECamNoEditorSupport || + editorSupport == ECamEditorSupportInToolbar ) + { + if ( aMenuPane->MenuItemExists( ECamCmdEditPhoto, itemPos ) ) + { + aMenuPane->SetItemDimmed( + ECamCmdEditPhoto, ETrue ); + } + } + /* * MSK : ContextOptions --> We just hide Help and Exit from the Options Menu when * the MSK is pressed in the postcapture still view @@ -668,7 +656,8 @@ } else { - if(iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport)) + TInt editorSupport = iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport); + if( editorSupport == ECamEditorSupportInToolbar ) { aToolbar->RemoveItem( ECamCmdSend ); CAknButton* editButton = dynamic_cast(aToolbar->ControlOrNull( ECamCmdEdit )); diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamUserSceneSetupViewBase.cpp --- a/camerauis/cameraapp/generic/src/CamUserSceneSetupViewBase.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamUserSceneSetupViewBase.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -290,7 +290,7 @@ // To background else if( !aForeground ) { - iNotifierPopupShowing = appUi->AppInBackground( ETrue ); + iNotifierPopupShowing = appUi->AppInBackground( ETrue ) && !appUi->AppInBackground( EFalse ); PRINT( _L("Camera <> CCamUserSceneSetupViewBase::HandleForegroundEventL dec engine count") ); // Register that we nolonger need the engine if( !iNotifierPopupShowing ) diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp --- a/camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamVideoPostCaptureView.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -277,7 +277,7 @@ R_CAM_SHARE_ON_OVI_INTEREST ); // SHARE_AIW - iAiwServiceHandler->AttachMenuL( ROID( R_CAM_STILL_POST_CAPTURE_MENU_ID), + iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID), R_CAM_AIW_VIEW_INTEREST ); CCamPostCaptureViewBase::DoActivateL( @@ -314,7 +314,7 @@ { } } - if ( iController.IntegerSettingValue(ECamSettingItemVideoEditorSupport) ) + if ( iController.IntegerSettingValue(ECamSettingItemVideoEditorSupport) != ECamNoEditorSupport ) { iAiwServiceHandler->AttachMenuL( ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ), R_CAM_SET_AS_RING_TONE_INTEREST_EDITOR ); @@ -476,53 +476,32 @@ if ( aResourceId == ROID( R_CAM_VIDEO_POST_CAPTURE_MENU_ID ) || aResourceId == ROID( R_CAM_VIDEO_POST_CAPTURE_OK_MENU_ID ) ) { - TBool showSend = ETrue; - TBool showSendToCaller = EFalse; - -/*#ifndef __WINS__ - if ( iSFIUtils->IsCLIValidL() ) - { - showSend = EFalse; - showSendToCaller = ETrue; - - if ( iController.IntegerSettingValue( ECamSettingItemVideoQuality ) - == ECamVideoQualityHigh ) - { - showSendToCaller = EFalse; - } - } -#endif*/ - - if ( !iController.IsTouchScreenSupported() || - !iOneClickUploadUtility->OneClickUploadSupported() ) - { - // In non-touch UI Send/Send to caller are always in AP. - // No need for Options menu items. - - // If 1-click upload is not supported in touch UI, then there is - // a send button in the fixed toolbar. There is no need to - // have it in Options menu. - showSend = EFalse; - showSendToCaller = EFalse; - } if( aMenuPane->MenuItemExists( ECamCmdSendToCallerMultimedia, itemPos ) ) { aMenuPane->SetItemDimmed( - ECamCmdSendToCallerMultimedia, !showSendToCaller ); - } - - if(iController.IntegerSettingValue(ECamSettingItemVideoEditorSupport)) - { - showSend = ETrue; + ECamCmdSendToCallerMultimedia, ETrue ); } - - if( aMenuPane->MenuItemExists( ECamCmdSend, itemPos ) ) + TInt editorSupport = iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport); + + if( editorSupport == ECamNoEditorSupport || + editorSupport == ECamEditorSupportInOptions ) { - aMenuPane->SetItemDimmed( - ECamCmdSend, !showSend ); - } - + if ( aMenuPane->MenuItemExists( ECamCmdSend, itemPos ) ) + { + aMenuPane->SetItemDimmed( + ECamCmdSend, ETrue ); + } + } + if( editorSupport == ECamNoEditorSupport || + editorSupport == ECamEditorSupportInToolbar ) + { + if ( aMenuPane->MenuItemExists( ECamCmdEditPhoto, itemPos ) ) + { + aMenuPane->SetItemDimmed( + ECamCmdEditPhoto, ETrue ); + } + } /* * MSK : ContextOptions --> We just hide Help and Exit from the Options Menu when * the MSK is pressed in the postcapture still view @@ -594,7 +573,8 @@ } else { - if(iController.IntegerSettingValue(ECamSettingItemVideoEditorSupport)) + TInt editorSupport = iController.IntegerSettingValue(ECamSettingItemPhotoEditorSupport); + if( editorSupport == ECamEditorSupportInToolbar ) { aToolbar->RemoveItem( ECamCmdSend ); CAknButton* editButton = dynamic_cast(aToolbar->ControlOrNull( ECamCmdEdit )); diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/CamViewBase.cpp --- a/camerauis/cameraapp/generic/src/CamViewBase.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/CamViewBase.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -515,6 +515,13 @@ SetStandbyModeActive(ETrue); + UpdateCbaL(); + if ( Cba() ) + { + Cba()->DrawNow(); + } + + // Release the camera hardware iController.ReleaseCamera(); diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/cambatterypanedrawer.cpp --- a/camerauis/cameraapp/generic/src/cambatterypanedrawer.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/cambatterypanedrawer.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -51,6 +51,18 @@ const TInt KCamDefaultBatteryCellHeight = 3; const TInt KCamDefaultBatteryCellMargin = 1; +const TInt KBatteryStrengthIcons[] = + { + EMbmCameraappQgn_indi_cam4_battery_strength_0, + EMbmCameraappQgn_indi_cam4_battery_strength_1, + EMbmCameraappQgn_indi_cam4_battery_strength_2, + EMbmCameraappQgn_indi_cam4_battery_strength_3, + EMbmCameraappQgn_indi_cam4_battery_strength_4, + EMbmCameraappQgn_indi_cam4_battery_strength_5, + EMbmCameraappQgn_indi_cam4_battery_strength_6, + EMbmCameraappQgn_indi_cam4_battery_strength_7 + }; + // --------------------------------------------------------------------------- // CCamBatteryPaneDrawer::CCamBatteryPaneDrawer // --------------------------------------------------------------------------- @@ -134,19 +146,11 @@ // Delete existing icon bitmaps DeleteIcons(); - // Load and resize battery icon and mask - delete iBatteryIcon; - iBatteryIcon = NULL; - iBatteryIcon = CCamBitmapItem::NewL( - EMbmCameraappQgn_prop_cam_battery_icon, - EMbmCameraappQgn_prop_cam_battery_icon_mask ); - - // Load and resize battery strength icon and mask - delete iBatteryStrengthIcon; - iBatteryStrengthIcon = NULL; - iBatteryStrengthIcon = CCamBitmapItem::NewL( - EMbmCameraappQgn_indi_cam_battery_strength, - EMbmCameraappQgn_indi_cam_battery_strength_mask ); + for( TInt index = KMinBatteryStrength; index <= KMaxBatteryStrength; index++ ) + { + iBatteryIcons.AppendL( CCamBitmapItem::NewL( KBatteryStrengthIcons[index], + KBatteryStrengthIcons[index] + 1) ); + } PRINT( _L("Camera <= CCamBatteryPaneDrawer::LoadIconsL") ); } @@ -167,30 +171,7 @@ // void CCamBatteryPaneDrawer::Draw( CBitmapContext& aGc ) const { - // Make sure that no brush is being used - aGc.SetBrushStyle( CGraphicsContext::ENullBrush ); - - if( iBatteryStrengthIcon ) - { - TSize iconSize = iBatteryStrengthIcon->BitmapSize(); - - TRect strengthIconCropRect( - 0, - iconSize.iHeight - BatteryStrengthIconHeight( iBatteryStrength ), - iconSize.iWidth, - iconSize.iHeight ); - - // Draw the icon, with correct battery strength - iBatteryStrengthIcon->DrawPartial( - aGc, - iBatteryStrengthIcon->LayoutRect(), - strengthIconCropRect ); - } - - if( iBatteryIcon ) - { - iBatteryIcon->Draw( aGc ); - } + iBatteryIcons[ iBatteryStrength ]->Draw( aGc ); } // --------------------------------------------------------------------------- @@ -230,30 +211,12 @@ // --------------------------------------------------------------------------- -// CCamBatteryPaneDrawer::BatteryStrengthIconHeight -// --------------------------------------------------------------------------- -// -TInt CCamBatteryPaneDrawer::BatteryStrengthIconHeight( TInt aLevel ) const - { - TInt cellHeight = KCamDefaultBatteryCellHeight; - if ( iBatteryStrengthIcon ) - { - cellHeight = iBatteryStrengthIcon->BitmapSize().iHeight / - KMaxBatteryStrength; - } - return ( aLevel * cellHeight ) + KCamDefaultBatteryCellMargin; - } - -// --------------------------------------------------------------------------- // CCamBatteryPaneDrawer::DeleteIcons // --------------------------------------------------------------------------- // void CCamBatteryPaneDrawer::DeleteIcons() { - delete iBatteryIcon; - iBatteryIcon = NULL; - delete iBatteryStrengthIcon; - iBatteryStrengthIcon = NULL; + iBatteryIcons.ResetAndDestroy(); } // --------------------------------------------------------------------------- @@ -293,19 +256,11 @@ batteryPane.LayoutRect( indicatorsPane.Rect(), AknLayoutScalable_Apps::cam6_battery_pane( cba ) ); iRect = batteryPane.Rect(); - - // Battery icon - if ( iBatteryIcon ) + + TInt batteryIconsCount = iBatteryIcons.Count(); + for( TInt index = 0; index < batteryIconsCount; index++ ) { - iBatteryIcon->SetLayoutL( iRect, - AknLayoutScalable_Apps::cam6_battery_pane_g1( cba )); - } - - // Battery strength icon - if ( iBatteryStrengthIcon ) - { - iBatteryStrengthIcon->SetLayoutL( iRect, - AknLayoutScalable_Apps::cam6_battery_pane_g2( cba )); + iBatteryIcons[index]->SetLayoutL( iRect ); } } @@ -326,19 +281,12 @@ AknLayoutScalable_Apps::cam4_battery_pane( var ).LayoutLine() ); iRect = batteryPane.Rect(); - // Battery icon - if ( iBatteryIcon ) + TInt batteryIconsCount = iBatteryIcons.Count(); + for( TInt index = 0; index < batteryIconsCount; index++ ) { - iBatteryIcon->SetLayoutL( iRect, - AknLayoutScalable_Apps::cam4_battery_pane_g2( var ).LayoutLine() ); + iBatteryIcons[index]->SetLayoutL( iRect ); } - - // Battery strength icon - if ( iBatteryStrengthIcon ) - { - iBatteryStrengthIcon->SetLayoutL( iRect, - AknLayoutScalable_Apps::cam4_battery_pane_g1( var ).LayoutLine() ); - } + } // End of file diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp --- a/camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -32,7 +32,7 @@ const TUint32 KToolbarExtensionBgColor = 0x00000000; const TInt KToolBarExtensionBgAlpha = 0x7F; const TInt KCaptureButtonOrdinalPriority( 1 ); - +const TSize KIconMargin( 7, 7 ); // ----------------------------------------------------------------------------- // CCamCaptureButtonContainer::CCamCaptureButtonContainer @@ -65,22 +65,41 @@ CCamAppUi* appUi = static_cast( CEikonEnv::Static()->AppUi() ); // Load capture icon - TInt bitmapId = EMbmCameraappQgn_indi_cam4_capture; - TInt maskId = EMbmCameraappQgn_indi_cam4_capture_mask; + TInt bitmapId = EMbmCameraappQgn_indi_cam4_capture_image; + TInt maskId = EMbmCameraappQgn_indi_cam4_capture_image_mask; + TInt bitmapPressedId = EMbmCameraappQgn_indi_cam4_capture_image_pressed; + TInt maskPressedId = EMbmCameraappQgn_indi_cam4_capture_image_pressed_mask; + if ( iCameraMode == ECamControllerVideo ) { - bitmapId = EMbmCameraappQgn_indi_cam4_video; - maskId = EMbmCameraappQgn_indi_cam4_video_mask; + bitmapId = EMbmCameraappQgn_indi_cam4_capture_video; + maskId = EMbmCameraappQgn_indi_cam4_capture_video_mask; + bitmapPressedId = EMbmCameraappQgn_indi_cam4_capture_video_pressed; + maskPressedId = EMbmCameraappQgn_indi_cam4_capture_video_pressed_mask; } + + iCaptureRect = aRect; + iCaptureRect.Move(-iCaptureRect.iTl.iX, -iCaptureRect.iTl.iY ); + iCaptureRect.Shrink( KIconMargin ); + AknIconUtils::CreateIconL( iCaptureIcon, - iCaptureMask, + iCaptureIconMask, KCamBitmapFile(), bitmapId, maskId ); - AknIconUtils::SetSize( iCaptureIcon, KIconSize, EAspectRatioPreserved ); + AknIconUtils::SetSize( iCaptureIcon, iCaptureRect.Size() ); + AknIconUtils::SetSize( iCaptureIconMask, iCaptureRect.Size() ); - iCaptureRect = aRect; + AknIconUtils::CreateIconL( + iCaptureIconPressed, + iCaptureIconPressedMask, + KCamBitmapFile(), + bitmapPressedId, + maskPressedId ); + AknIconUtils::SetSize( iCaptureIconPressed, iCaptureRect.Size() ); + AknIconUtils::SetSize( iCaptureIconPressedMask, iCaptureRect.Size() ); + iFeedback = MTouchFeedback::Instance(); PRINT( _L("Camera <= CCamCaptureButtonContainer::ConstructL") ); } @@ -92,7 +111,9 @@ CCamCaptureButtonContainer::~CCamCaptureButtonContainer() { delete iCaptureIcon; - delete iCaptureMask; + delete iCaptureIconMask; + delete iCaptureIconPressed; + delete iCaptureIconPressedMask; } // ----------------------------------------------------------------------------- @@ -266,31 +287,18 @@ void CCamCaptureButtonContainer::DrawCaptureButton( CBitmapContext& aGc ) const { PRINT( _L("Camera => CCamCaptureButtonContainer::DrawCaptureButton") ); + TRect boundingRect( iCaptureRect ); + boundingRect.Move( -boundingRect.iTl.iX, -boundingRect.iTl.iY ); - TRect boundingRect( iCaptureRect ); - boundingRect.Move( -iCaptureRect.iTl.iX, -iCaptureRect.iTl.iY ); - boundingRect.Shrink( KAdditionalArea ); - - TPoint iconTl( boundingRect.iTl.iX + KCaptureIconDelta, - boundingRect.iTl.iY + KCaptureIconDelta ); - - aGc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - aGc.SetBrushStyle( CGraphicsContext::ESolidBrush ); - aGc.SetPenStyle( CGraphicsContext::ENullPen ); if ( iCaptureButtonPressed ) { - aGc.SetBrushColor( KRgbBlack ); + aGc.BitBltMasked( iCaptureRect.iTl, iCaptureIconPressed, boundingRect, iCaptureIconPressedMask, EFalse ); } else { - aGc.SetBrushColor( TRgb( KToolbarExtensionBgColor, KToolBarExtensionBgAlpha ) ); - } - aGc.DrawEllipse( boundingRect ); + aGc.BitBltMasked( iCaptureRect.iTl, iCaptureIcon, boundingRect, iCaptureIconMask, EFalse ); - TRect iconRect( KIconSize ); - aGc.SetPenStyle( CGraphicsContext::ESolidPen ); - aGc.SetBrushStyle( CGraphicsContext::ENullBrush ); - aGc.BitBltMasked( iconTl, iCaptureIcon, iconRect, iCaptureMask, EFalse ); + } PRINT( _L("Camera <= CCamCaptureButtonContainer::DrawCaptureButton") ); } diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp --- a/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -2918,14 +2918,12 @@ OstTrace0( CAMERAAPP_PERFORMANCE, CCAMCAMERACONTROLLER_PROCESSVFSTARTREQUESTL, "e_CAM_APP_VF_INIT 0" ); //CCORAPP_APP_VF_INIT_END - TInt orgPos = SetVfWindowOrdinal(); // Set visible iCamera->StartViewFinderDirectL( env->WsSession(), *env->ScreenDevice(), *iViewfinderWindow, params().iRect ); - (void) SetVfWindowOrdinal( orgPos ); // back to original - + if ( appUi && ECamActiveCameraSecondary == appUi->ActiveCamera() ) { iCamera->SetViewFinderMirrorL(ETrue); @@ -6502,13 +6500,12 @@ CEikonEnv* env = CEikonEnv::Static(); - TInt orgPos = SetVfWindowOrdinal(); // Set visible - iCamera->StartViewFinderDirectL( + iCamera->StartViewFinderDirectL( env->WsSession(), *env->ScreenDevice(), *iViewfinderWindow, params().iRect ); - (void) SetVfWindowOrdinal( orgPos ); // back to original + } else { diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/camtvaccessorymonitor.cpp --- a/camerauis/cameraapp/generic/src/camtvaccessorymonitor.cpp Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/generic/src/camtvaccessorymonitor.cpp Thu Aug 19 09:36:57 2010 +0300 @@ -15,7 +15,7 @@ */ #include -#include +#include #include #include "camtvaccessorymonitor.h" diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/help/data/xhtml.zip Binary file camerauis/cameraapp/help/data/xhtml.zip has changed diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/loc/cam.loc --- a/camerauis/cameraapp/loc/cam.loc Thu Jul 15 18:18:07 2010 +0300 +++ b/camerauis/cameraapp/loc/cam.loc Thu Aug 19 09:36:57 2010 +0300 @@ -845,27 +845,27 @@ //d:Item text for flash auto value //d:Visible in set_up lists -//l:main_cam5_pane_t1 +//l:cset_list_set_pane_t1 // #define qtn_lcam_set_auto "Automatic" //d:Item text for flash forced value //d:Visible in set_up lists -//l:main_cam5_pane_t1 +//l:cset_list_set_pane_t1 // #define qtn_lcam_set_force "On" //d:Item text for flash off value //d:Visible in set_up lists -//l:main_cam5_pane_t1 +//l:cset_list_set_pane_t1 // #define qtn_lcam_set_flash_off "Off" //d:Item text for flash redeye reduction value //d:Visible in set_up lists -//l:main_cam5_pane_t1 -// -#define qtn_lcam_set_redeye "Red eye redu." +//l:cset_list_set_pane_t1 +// +#define qtn_lcam_set_redeye "Red eye reduction" //---------------------------------------------------- @@ -4278,6 +4278,94 @@ //l: cell_tb_ext_pane_t1/opt1 #define qtn_lcam_tb_switch "Switch" +//d: Options menu item for accessing the Photo editor +//d: Visible in options menu of still post capture view +//l: list_single_pane_t1_cp2 +#define qtn_options_image_editor "Image Editor" + +//d: Options menu item for accessing the Video editor +//d: Visible in options menu of video post capture view +//l: list_single_pane_t1_cp2 +#define qtn_options_video_editor "Video Editor" + +//d: Title string of Low FPS video recording note +//d: Visible in discreet popup during low fps video recording +//l: popup_discreet_window_t1 +#define qtn_lcam_note_low_fps "Low FPS detected" + +//d: Body string of Low FPS video recording note +//d: Visible in discreet popup during low fps video recording +//l: popup_discreet_window_t2 +#define qtn_lcam_note_low_fps_help_link "See help" + +//d: Description string for close up video shooting mode +//d: Visible in video scene mode summary +//l: popup_preview_text_window/opt5 +#define qtn_lcam_scene_vid_close_up_ex "Ideal for filming small objects between 10 and 60 cm" + +//d: Description string for strong backlight video shooting mode +//d: Visible in video scene mode summary +//l: popup_preview_text_window/opt5 +#define qtn_lcam_scene_vid_backlight_ex "Ideal when capturing subjects with strong backlight" + +//d: Description string for concert video shooting mode +//d: Visible in video scene mode summary +//l: popup_preview_text_window/opt5 +#define qtn_lcam_scene_vid_concert_ex "Ideal when capturing live concert on stage" + +//d: Backlight list item in video scene view +//d: Visible in video scene mode list box +//l: list_set_graphic_pane_t1 +#define qtn_lcam_scene_vid_backlight "Backlight" + +//d: Concert list item in video scene view +//d: Visible in video scene mode list box +//l: list_set_graphic_pane_t1 +#define qtn_lcam_scene_vid_concert "Concert" + +//d: Confirmation note shown when the user adds one item to an album +//l: popup_note_window +#define qtn_lcam_note_added_one_item_album "Added" + +//d:Video quality setting description +//d:Visible in video quality slider control. +//l: main_cam5_pane_t4/opt1 +#define qtn_lcam_descr_quality_highdefinition_30fps "Best quality for playback on high-definition televisions. 30fps HD 1280x720." + +//d:Video quality setting description +//d:Visible in video quality slider control. +//l: main_cam5_pane_t4/opt1 +#define qtn_lcam_descr_quality_highdefinition_reduced "For playback on high definition displays, with reduced storage memory consumption" + +//d:Video quality setting description +//d:Visible in video quality slider control. +//l: main_cam5_pane_t4/opt1 +#define qtn_lcam_descr_quality_widescreen_wvga "High quality for playback in 16:9 aspect ratio" + +//d: Settings list item body text +//l: list_set_graphic_pane_t1 +#define qtn_lcam_set_type_highdefinition_reduced "High definition, reduced storage requirements" + +//d: Settings list item body text +//l: list_set_graphic_pane_t1 +#define qtn_lcam_set_type_widescreen_wvga "Widescreen high quality" + +//d: Settings list item header +//l: list_setting_pane_t1 +#define qtn_lcam_sett_startup_mode "Start-up mode" + +//d: Settings list item body text +//l: list_set_graphic_pane_t1 +#define qtn_lcam_set_startup_mode_still "Still image" + +//d: Settings list item body text +//l: list_set_graphic_pane_t1 +#define qtn_lcam_set_startup_mode_video "Video" + +//d: Settings list item body text +//l: list_set_graphic_pane_t1 +#define qtn_lcam_set_startup_mode_memorized "Memorized" + // end of file