# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1266611791 -7200 # Node ID dbec5787fa681d8b66bfa265c38c5c7275b4e3e8 # Parent 8b2d6d0384b09eb3cc9553fbb561466e59e17218 Revision: 201003 Kit: 201007 diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/build/cameraapp.mmp --- a/camerauis/cameraapp/build/cameraapp.mmp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/build/cameraapp.mmp Fri Feb 19 22:36:31 2010 +0200 @@ -292,6 +292,7 @@ LIBRARY CFServices.lib LIBRARY ActivePalette.lib LIBRARY aknlayout2.lib +LIBRARY accmonitor.lib // Remote Controller framework LIBRARY RemConCoreApi.lib diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/conf/cameraapp.confml Binary file camerauis/cameraapp/conf/cameraapp.confml has changed diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamPhotoSettingsView.h --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamPhotoSettingsView.h Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamPhotoSettingsView.h Fri Feb 19 22:36:31 2010 +0200 @@ -23,7 +23,7 @@ // INCLUDES #include #include -#include +#include #include "GSCamcorderSettingsBaseView.h" // CONSTANTS diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamVideoSettingsView.h --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamVideoSettingsView.h Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamVideoSettingsView.h Fri Feb 19 22:36:31 2010 +0200 @@ -23,7 +23,7 @@ // INCLUDES #include #include -#include +#include #include "GSCamcorderSettingsBaseView.h" // CONSTANTS diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPlugin.h Fri Feb 19 22:36:31 2010 +0200 @@ -23,8 +23,8 @@ #include #include #include -#include -#include +#include +#include #include "CamStaticSettingsModel.h" // Classes referenced diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPluginContainer.h --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPluginContainer.h Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamcorderPluginContainer.h Fri Feb 19 22:36:31 2010 +0200 @@ -21,7 +21,7 @@ // INCLUDES // System includes -#include +#include // CONSTANTS const TInt KGSCamSettingsListImageIndex = 0; diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamdefaultnamesettingpage.h --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamdefaultnamesettingpage.h Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamdefaultnamesettingpage.h Fri Feb 19 22:36:31 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -97,6 +97,7 @@ // The current mode of capture. TCamCameraMode iMode; TBool iCamera; + TBool iNameSelected; }; #endif // GSCAMDEFAULTNAMESETTINGPAGE_H diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsList.cpp --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsList.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsList.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -88,16 +88,13 @@ if ( iModel.UiConfigManagerPtr() && iModel.UiConfigManagerPtr()->IsLocationSupported() ) { - resId = R_CAM_PHOTO_SETTINGS_WITH_LOCATION_ITEM_LIST_CAMCORDER; + resId = iLaunchedFromGS?R_CAM_PHOTO_GSSETTINGS_WITH_LOCATION_ITEM_LIST_CAMCORDER: + R_CAM_PHOTO_SETTINGS_WITH_LOCATION_ITEM_LIST_CAMCORDER; } else { - resId = R_CAM_PHOTO_SETTINGS_ITEM_LIST_CAMCORDER; - } - - if ( iSecondaryCameraSettings ) - { - resId = R_CAM_VIDEO_SETTINGS_ITEM_LIST_PORTRAIT; + resId = iLaunchedFromGS?R_CAM_PHOTO_GSSETTINGS_ITEM_LIST_CAMCORDER: + R_CAM_PHOTO_SETTINGS_ITEM_LIST_CAMCORDER; } if ( iSecondaryCameraSettings ) diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsView.cpp --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsView.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamPhotoSettingsView.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include "CamAppUid.h" #include "GSCamcorderPlugin.h" #include "GSCamcorderPlugin.hrh" diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamVideoSettingsList.cpp --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamVideoSettingsList.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamVideoSettingsList.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -96,11 +96,13 @@ if ( iModel.UiConfigManagerPtr() && iModel.UiConfigManagerPtr()->IsLocationSupported() ) { - resId = R_CAM_VIDEO_SETTINGS_WITH_LOCATION_ITEM_LIST_CAMCORDER; + resId = iLaunchedFromGS?R_CAM_VIDEO_GSSETTINGS_WITH_LOCATION_ITEM_LIST_CAMCORDER: + R_CAM_VIDEO_SETTINGS_WITH_LOCATION_ITEM_LIST_CAMCORDER; } else { - resId = R_CAM_VIDEO_SETTINGS_ITEM_LIST_CAMCORDER; + resId = iLaunchedFromGS?R_CAM_VIDEO_GSSETTINGS_ITEM_LIST_CAMCORDER: + R_CAM_VIDEO_SETTINGS_ITEM_LIST_CAMCORDER; } if ( iSecondaryCameraSettings ) diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPlugin.cpp --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPlugin.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPlugin.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -31,9 +31,9 @@ #include #include #include //for stringloader -#include +#include #include -#include //for kgsmainviewuid +#include //for kgsmainviewuid #include #include // for hlplauncher diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPluginContainer.cpp --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPluginContainer.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamcorderPluginContainer.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -20,7 +20,7 @@ #include //for CAknSettingStyleListBox #include #include -#include //for listbox clases +#include //for listbox clases #include // CAknIconArray #include // CColumnListBoxData diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamdefaultnamesettingpage.cpp --- a/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamdefaultnamesettingpage.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/GsCamcorderPlugin/src/GSCamdefaultnamesettingpage.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -52,6 +52,7 @@ iMode( aMode ), iCamera ( aCamera ) { + iNameSelected = QueryValue()->CurrentValueIndex(); } @@ -105,6 +106,11 @@ } } + else + { + // Cancelled + QueryValue()->SetCurrentValueIndex( iNameSelected ); + } return ETrue; } diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/camerauiconfigmanager/conf/camerauiconfigmanager.confml Binary file camerauis/cameraapp/generic/camerauiconfigmanager/conf/camerauiconfigmanager.confml has changed diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/common/data/CamSettings.ra --- a/camerauis/cameraapp/generic/common/data/CamSettings.ra Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/common/data/CamSettings.ra Fri Feb 19 22:36:31 2010 +0200 @@ -1040,6 +1040,22 @@ flags = KAknSettingPageNoEmbeddedSoftKeys; } +//---------------------------------------------------- +// +// r_cam_gssettings_quality_settings_page +// setting page resource for the quality slider +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_PAGE r_cam_gssettings_quality_settings_page + { + // the type and editor resource are included so that the + // settings page can be constructed without crashing but are not used + // The custom quality control is used instead + type = EAknCtPopupSettingList; + editor_resource_id = r_cam_setting_listbox; + softkey_resource = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT; + } //---------------------------------------------------- // @@ -1061,6 +1077,23 @@ //---------------------------------------------------- // +// r_cam_gssettings_location_settings_page +// +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_PAGE r_cam_gssettings_location_settings_page + { + // the type and editor resource are included so that the + // settings page can be constructed without crashing but are not used + // The custom quality control is used instead + type = EAknCtPopupSettingList; + editor_resource_id = r_cam_setting_listbox; + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + } + +//---------------------------------------------------- +// // r_cam_settings_location_settings_page // // @@ -1081,6 +1114,77 @@ //---------------------------------------------------- // +// r_cam_video_gssettings_item_list_camcorder +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_ITEM_LIST r_cam_video_gssettings_item_list_camcorder + { + items = + { + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoQuality; + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_video_quality_texts; + name = qtn_lcam_sett_attr_vi_type; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoStab; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_vid_stable; + name = qtn_lcam_sett_attr_vid_stable; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoAudioRec; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_texts_vid_audiomute_land; + name = qtn_lcam_sett_attr_audio_rec; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemContinuousAutofocus; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_texts_vid_continuous_af; + name = qtn_lcam_sett_attr_cont_af; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoShowCapturedVideo; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_vid_showcap_land; + name = qtn_lcam_sett_attr_post_vi; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoNameBaseType; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_date_or_text_texts; + name = qtn_lcam_sett_attr_video_name; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoMediaStorage; + setting_page_resource = r_cam_image_memory_selection_dialog; + name = qtn_lcam_sett_attr_store; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRestoreCameraSettings; + setting_page_resource = r_cam_settings_list_settings_page; + name = qtn_lcam_sett_attr_reset; + } + }; + + } + + +//---------------------------------------------------- +// // r_cam_video_settings_item_list_camcorder // //---------------------------------------------------- @@ -1151,6 +1255,86 @@ //---------------------------------------------------- // +// r_cam_video_gssettings_with_location_item_list_camcorder +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_ITEM_LIST r_cam_video_gssettings_with_location_item_list_camcorder + { + items = + { + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoQuality; + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_video_quality_texts; + name = qtn_lcam_sett_attr_vi_type; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRecLocation; + // The quality page resource is used to prevent crashing in the construction phase + // The type and editor resource are included but are not used + // The custom quality control is used instead + setting_page_resource = r_cam_gssettings_location_settings_page; + associated_resource = r_cam_photo_location_texts; + name = qtn_lcam_sett_attr_rec_location; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoStab; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_vid_stable; + name = qtn_lcam_sett_attr_vid_stable; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoAudioRec; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_texts_vid_audiomute_land; + name = qtn_lcam_sett_attr_audio_rec; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemContinuousAutofocus; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_texts_vid_continuous_af; + name = qtn_lcam_sett_attr_cont_af; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoShowCapturedVideo; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_vid_showcap_land; + name = qtn_lcam_sett_attr_post_vi; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoNameBaseType; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_date_or_text_texts; + name = qtn_lcam_sett_attr_video_name; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoMediaStorage; + setting_page_resource = r_cam_image_memory_selection_dialog; + name = qtn_lcam_sett_attr_store; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRestoreCameraSettings; + setting_page_resource = r_cam_settings_list_settings_page; + name = qtn_lcam_sett_attr_reset; + } + }; + + } + +//---------------------------------------------------- +// // r_cam_video_settings_with_location_item_list_camcorder // //---------------------------------------------------- @@ -1437,6 +1621,81 @@ //---------------------------------------------------- // +// r_cam_photo_gssettings_item_list_camcorder +// +//---------------------------------------------------- +// + +RESOURCE AVKON_SETTING_ITEM_LIST +r_cam_photo_gssettings_item_list_camcorder + { + items = + { + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoQuality; + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_photo_quality_texts; + name = qtn_lcam_sett_attr_quality; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemShowCapturedPhoto; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_img_showcap_land; + name = qtn_lcam_sett_attr_post_ph; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoNameBaseType; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_date_or_text_texts; + name = qtn_lcam_sett_attr_name_base; + }, + + // If optical zoom is supported, could use setting for digital zoom only. + // If optical zoom not supported, this setting is needed for extended zoom only. + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoDigitalZoom; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_ext_zoom_texts; + name = qtn_lcam_sett_attr_zoom; // "Extended digital zoom" + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoCaptureTone; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_capture_tone_list_texts; + name = qtn_lcam_sett_attr_tone; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemImageRotation; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_img_rotate; + name = qtn_lcam_sett_attr_tsensor; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoMediaStorage; + setting_page_resource = r_cam_image_memory_selection_dialog; + name = qtn_lcam_sett_attr_store; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRestoreCameraSettings; + setting_page_resource = r_cam_settings_list_settings_page; + name = qtn_lcam_sett_attr_reset; + } + }; + } + +//---------------------------------------------------- +// // r_cam_photo_settings_item_list_camcorder // //---------------------------------------------------- @@ -1513,6 +1772,89 @@ //---------------------------------------------------- // +// r_cam_photo_gssettings_with_location_item_list_camcorder +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_ITEM_LIST +r_cam_photo_gssettings_with_location_item_list_camcorder + { + items = + { + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoQuality; + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_photo_quality_texts; + name = qtn_lcam_sett_attr_quality; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRecLocation; + // The quality page resource is used to prevent crashing in the construction phase + // The type and editor resource are included but are not used + // The custom quality control is used instead + setting_page_resource = r_cam_gssettings_location_settings_page; + associated_resource = r_cam_photo_location_texts; + name = qtn_lcam_sett_attr_rec_location; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemShowCapturedPhoto; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_img_showcap_land; + name = qtn_lcam_sett_attr_post_ph; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoNameBaseType; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_date_or_text_texts; + name = qtn_lcam_sett_attr_name_base; + }, + + // If optical zoom is supported, could use setting for digital zoom only. + // If optical zoom not supported, this setting is needed for extended zoom only. + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoDigitalZoom; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_ext_zoom_texts; + name = qtn_lcam_sett_attr_zoom; // "Extended digital zoom" + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoCaptureTone; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_capture_tone_list_texts; + name = qtn_lcam_sett_attr_tone; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemImageRotation; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_img_rotate; + name = qtn_lcam_sett_attr_tsensor; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoMediaStorage; + setting_page_resource = r_cam_image_memory_selection_dialog; + name = qtn_lcam_sett_attr_store; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRestoreCameraSettings; + setting_page_resource = r_cam_settings_list_settings_page; + name = qtn_lcam_sett_attr_reset; + } + }; + } + + +//---------------------------------------------------- +// // r_cam_photo_settings_with_location_item_list_camcorder // //---------------------------------------------------- diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/common/data/CamSettingsV2.ra --- a/camerauis/cameraapp/generic/common/data/CamSettingsV2.ra Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/common/data/CamSettingsV2.ra Fri Feb 19 22:36:31 2010 +0200 @@ -1046,6 +1046,22 @@ flags = KAknSettingPageNoEmbeddedSoftKeys; } +//---------------------------------------------------- +// +// r_cam_settings_quality_settings_page +// setting page resource for the quality slider +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_PAGE r_cam_gssettings_quality_settings_page + { + // the type and editor resource are included so that the + // settings page can be constructed without crashing but are not used + // The custom quality control is used instead + type = EAknCtPopupSettingList; + editor_resource_id = r_cam_setting_listbox; + softkey_resource = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT; + } //---------------------------------------------------- // @@ -1067,6 +1083,23 @@ //---------------------------------------------------- // +// r_cam_gssettings_location_settings_page +// +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_PAGE r_cam_gssettings_location_settings_page + { + // the type and editor resource are included so that the + // settings page can be constructed without crashing but are not used + // The custom quality control is used instead + type = EAknCtPopupSettingList; + editor_resource_id = r_cam_setting_listbox; + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + } + +//---------------------------------------------------- +// // r_cam_settings_location_settings_page // // @@ -1087,6 +1120,77 @@ //---------------------------------------------------- // +// r_cam_video_gssettings_item_list_camcorder +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_ITEM_LIST r_cam_video_gssettings_item_list_camcorder + { + items = + { + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoQuality; + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_video_quality_texts; + name = qtn_lcam_sett_attr_vi_type; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoStab; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_vid_stable; + name = qtn_lcam_sett_attr_vid_stable; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoAudioRec; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_texts_vid_audiomute_land; + name = qtn_lcam_sett_attr_audio_rec; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemContinuousAutofocus; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_texts_vid_continuous_af; + name = qtn_lcam_sett_attr_cont_af; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoShowCapturedVideo; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_vid_showcap_land; + name = qtn_lcam_sett_attr_post_vi; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoNameBaseType; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_date_or_text_texts; + name = qtn_lcam_sett_attr_video_name; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoMediaStorage; + setting_page_resource = r_cam_image_memory_selection_dialog; + name = qtn_lcam_sett_attr_store; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRestoreCameraSettings; + setting_page_resource = r_cam_settings_list_settings_page; + name = qtn_lcam_sett_attr_reset; + } + }; + + } + + +//---------------------------------------------------- +// // r_cam_video_settings_item_list_camcorder // //---------------------------------------------------- @@ -1157,6 +1261,87 @@ //---------------------------------------------------- // +// r_cam_video_gsssettings_with_location_item_list_camcorder +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_ITEM_LIST r_cam_video_gssettings_with_location_item_list_camcorder + { + items = + { + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoQuality; + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_video_quality_texts; + name = qtn_lcam_sett_attr_vi_type; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRecLocation; + // The quality page resource is used to prevent crashing in the construction phase + // The type and editor resource are included but are not used + // The custom quality control is used instead + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_photo_location_texts; + name = qtn_lcam_sett_attr_rec_location; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoStab; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_vid_stable; + name = qtn_lcam_sett_attr_vid_stable; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoAudioRec; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_texts_vid_audiomute_land; + name = qtn_lcam_sett_attr_audio_rec; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemContinuousAutofocus; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_texts_vid_continuous_af; + name = qtn_lcam_sett_attr_cont_af; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoShowCapturedVideo; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_vid_showcap_land; + name = qtn_lcam_sett_attr_post_vi; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoNameBaseType; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_date_or_text_texts; + name = qtn_lcam_sett_attr_video_name; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemVideoMediaStorage; + setting_page_resource = r_cam_image_memory_selection_dialog; + name = qtn_lcam_sett_attr_store; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRestoreCameraSettings; + setting_page_resource = r_cam_settings_list_settings_page; + name = qtn_lcam_sett_attr_reset; + } + }; + + } + + +//---------------------------------------------------- +// // r_cam_video_settings_with_location_item_list_camcorder // //---------------------------------------------------- @@ -1443,6 +1628,81 @@ //---------------------------------------------------- // +// r_cam_photo_gssettings_item_list_camcorder +// +//---------------------------------------------------- +// + +RESOURCE AVKON_SETTING_ITEM_LIST +r_cam_photo_gssettings_item_list_camcorder + { + items = + { + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoQuality; + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_photo_quality_texts; + name = qtn_lcam_sett_attr_quality; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemShowCapturedPhoto; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_img_showcap_land; + name = qtn_lcam_sett_attr_post_ph; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoNameBaseType; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_date_or_text_texts; + name = qtn_lcam_sett_attr_name_base; + }, + + // If optical zoom is supported, could use setting for digital zoom only. + // If optical zoom not supported, this setting is needed for extended zoom only. + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoDigitalZoom; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_ext_zoom_texts; + name = qtn_lcam_sett_attr_zoom; // "Extended digital zoom" + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoCaptureTone; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_capture_tone_list_texts; + name = qtn_lcam_sett_attr_tone; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemImageRotation; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_img_rotate; + name = qtn_lcam_sett_attr_tsensor; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoMediaStorage; + setting_page_resource = r_cam_image_memory_selection_dialog; + name = qtn_lcam_sett_attr_store; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRestoreCameraSettings; + setting_page_resource = r_cam_settings_list_settings_page; + name = qtn_lcam_sett_attr_reset; + } + }; + } + +//---------------------------------------------------- +// // r_cam_photo_settings_item_list_camcorder // //---------------------------------------------------- @@ -1516,6 +1776,89 @@ }; } +//---------------------------------------------------- +// +// r_cam_photo_gssettings_with_location_item_list_camcorder +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_ITEM_LIST +r_cam_photo_gssettings_with_location_item_list_camcorder + { + items = + { + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoQuality; + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_photo_quality_texts; + name = qtn_lcam_sett_attr_quality; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRecLocation; + // The quality page resource is used to prevent crashing in the construction phase + // The type and editor resource are included but are not used + // The custom quality control is used instead + setting_page_resource = r_cam_gssettings_quality_settings_page; + associated_resource = r_cam_photo_location_texts; + name = qtn_lcam_sett_attr_rec_location; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemShowCapturedPhoto; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_img_showcap_land; + name = qtn_lcam_sett_attr_post_ph; + }, + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoNameBaseType; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_date_or_text_texts; + name = qtn_lcam_sett_attr_name_base; + }, + + // If optical zoom is supported, could use setting for digital zoom only. + // If optical zoom not supported, this setting is needed for extended zoom only. + + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoDigitalZoom; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_ext_zoom_texts; + name = qtn_lcam_sett_attr_zoom; // "Extended digital zoom" + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoCaptureTone; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_capture_tone_list_texts; + name = qtn_lcam_sett_attr_tone; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemImageRotation; + setting_page_resource = r_cam_settings_list_settings_page; + associated_resource = r_cam_on_off_texts_img_rotate; + name = qtn_lcam_sett_attr_tsensor; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemPhotoMediaStorage; + setting_page_resource = r_cam_image_memory_selection_dialog; + name = qtn_lcam_sett_attr_store; + }, + AVKON_SETTING_ITEM + { + identifier = ECamSettingItemRestoreCameraSettings; + setting_page_resource = r_cam_settings_list_settings_page; + name = qtn_lcam_sett_attr_reset; + } + }; + } //---------------------------------------------------- // diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/data/nhdcamsettings.rss --- a/camerauis/cameraapp/generic/data/nhdcamsettings.rss Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/data/nhdcamsettings.rss Fri Feb 19 22:36:31 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-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" @@ -1088,7 +1088,7 @@ RESOURCE AVKON_TOOLBAR r_cam_still_precapture_toolbar_landscape { lines = 3; - flags = KAknToolbarFixed | KAknToolbarDsaMode; + flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent; items = { TBAR_CTRL @@ -1240,7 +1240,7 @@ RESOURCE AVKON_TOOLBAR r_cam_video_precapture_toolbar_landscape { lines = 3; - flags = KAknToolbarFixed | KAknToolbarDsaMode; + flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent; items = { TBAR_CTRL @@ -1848,7 +1848,7 @@ RESOURCE AVKON_TOOLBAR r_cam_still_postcapture_toolbar_landscape { lines = 3; - flags = KAknToolbarFixed | KAknToolbarDsaMode; + flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent; items = { TBAR_CTRL @@ -1998,7 +1998,7 @@ RESOURCE AVKON_TOOLBAR r_cam_still_postcapture_toolbar_landscape_upload { lines = 3; - flags = KAknToolbarFixed | KAknToolbarDsaMode; + flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent; items = { TBAR_CTRL @@ -2635,7 +2635,7 @@ RESOURCE AVKON_TOOLBAR r_cam_video_postcapture_toolbar_landscape { lines = 3; - flags = KAknToolbarFixed | KAknToolbarDsaMode; + flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent; items = { TBAR_CTRL @@ -2784,7 +2784,7 @@ RESOURCE AVKON_TOOLBAR r_cam_video_postcapture_toolbar_landscape_upload { lines = 3; - flags = KAknToolbarFixed | KAknToolbarDsaMode; + flags = KAknToolbarFixed | KAknToolbarDsaMode | KAknToolbarNoBackground | KAknToolbarTransparent; items = { TBAR_CTRL diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/inc/CamAppUi.h --- a/camerauis/cameraapp/generic/inc/CamAppUi.h Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/inc/CamAppUi.h Fri Feb 19 22:36:31 2010 +0200 @@ -1295,6 +1295,11 @@ * @param aHide whether to hide or make visible */ void HideTaskL(TBool aHide); + + /** + * returns ETrue if headset is connected + */ + TBool IsHeadsetConnected() const; public: /** diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/inc/CamVideoPreCaptureContainer.h --- a/camerauis/cameraapp/generic/inc/CamVideoPreCaptureContainer.h Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/inc/CamVideoPreCaptureContainer.h Fri Feb 19 22:36:31 2010 +0200 @@ -22,6 +22,8 @@ // INCLUDES #include "CamPreCaptureContainerBase.h" +class MTouchFeedback; + // CLASS DECLARATION /** @@ -264,6 +266,8 @@ // Position to move the resolution icon to during video capture TRect iResolutionIndicatorVidcapPosition; + + MTouchFeedback *iFeedback; // ======================================================= }; diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamAppController.cpp --- a/camerauis/cameraapp/generic/src/CamAppController.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamAppController.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -9658,6 +9659,12 @@ CAknToolbar* fixedToolbar = appUi->CurrentFixedToolbar(); if ( fixedToolbar ) { + CAknToolbarExtension* extension = fixedToolbar->ToolbarExtension(); + if ( extension ) + { + // Keep toolbar extension hidden after the half press key is released + extension->SetShown( EFalse ); + } fixedToolbar->SetToolbarVisibility( EFalse ); } } @@ -10449,10 +10456,9 @@ { if ( iKeyLockStatusWatcher && iConfigManager && iConfigManager->IsKeyLockWatcherSupported() ) { - CCamAppUi* appUi = static_cast( CEikonEnv::Static()->AppUi() ); TInt iKeyLockStatus = 0; iKeyLockStatusWatcher->Get( iKeyLockStatus ); - if ( iKeyLockStatus == EKeyguardLocked && appUi ) + if ( iKeyLockStatus == EKeyguardLocked ) { return ETrue; } diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamAppui.cpp --- a/camerauis/cameraapp/generic/src/CamAppui.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamAppui.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -52,6 +52,7 @@ #include #include #include +#include #ifndef __WINSCW__ //#include @@ -3307,9 +3308,16 @@ { CAknToolbar* toolbar = CurrentFixedToolbar(); if ( toolbar ) - { - toolbar->SetToolbarVisibility( ETrue ); - } + { + if ( iPreCaptureMode == ECamPreCapViewfinder ) + { + toolbar->SetToolbarVisibility( ETrue ); + } + else + { + toolbar->SetToolbarVisibility( EFalse ); + } + } } } break; @@ -3811,14 +3819,18 @@ { SetViewFinderInTransit(ETrue); iController.StopViewFinder(); - TUid viewId = iView->Id(); - if(viewId == TUid::Uid( ECamViewIdStillPreCapture ) - || viewId == TUid::Uid( ECamViewIdVideoPreCapture )) - { - CCamViewBase* view = static_cast(iView); - CCamContainerBase* container = view->Container(); - container->DrawNow(); - } + if ( iView ) + { + TUid viewId = iView->Id(); + if(viewId == TUid::Uid( ECamViewIdStillPreCapture ) + || viewId == TUid::Uid( ECamViewIdVideoPreCapture )) + { + CCamViewBase* view = static_cast(iView); + CCamContainerBase* container = view->Container(); + container->DrawNow(); + } + } + } PRINT( _L("Camera TrySwitchViewL E") ) @@ -5657,6 +5669,44 @@ } } +// --------------------------------------------------------- +// CCamAppUi::IsHeadsetConnected +// Return whether headset is connected +// --------------------------------------------------------- +// +TBool CCamAppUi::IsHeadsetConnected() const + { + TBool connected( EFalse ); + + TRAP_IGNORE( + { + CAccMonitor* monitor = CAccMonitor::NewLC(); + RConnectedAccessories accessories; + CleanupClosePushL( accessories ); + + TAccMonCapability device = KAccMonNoDevice; + + monitor->GetConnectedAccessoriesL( accessories ); + TInt count = accessories.Count(); + + // loop through connected accessories + for ( TInt i = 0; i != count; i++ ) + { + device = accessories[i]->AccDeviceType(); + // headset device type + if ( device == KAccMonHeadset ) + { + connected = ETrue; + break; + } + } + + CleanupStack::PopAndDestroy( &accessories ); + CleanupStack::PopAndDestroy( monitor ); + }); + + return connected; + } // --------------------------------------------------------------------------- // CCamAppUi::HandleVolumeKeyEvent @@ -5668,7 +5718,7 @@ { PRINT2( _L("Camera => CCamAppUi::HandleVolumeKeyEvent op (%d) act (%d)"), aOperationId, aButtonAct ) - if ( !iZoomUsingVolumeKeys ) + if ( !iZoomUsingVolumeKeys || IsHeadsetConnected() ) { PRINT( _L("Camera <= CCamAppUi::HandleVolumeKeyEvent NOT zooming with volume keys") ) return; diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp --- a/camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamCaptureSetupContainer.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -430,6 +430,11 @@ PRINT ( _L("Camera <> CCamCaptureSetupContainer::HandlePointerEventL start viewfinder") ); ReserveAndStartVF(); } + else + { + PRINT ( _L("Camera <> CCamCaptureSetupContainer::HandlePointerEventL handle selected item") ); + iCaptureSetupControl->HandlePointerEventL( aPointerEvent ); + } /*if( iController.CurrentMode() == ECamControllerIdle || iController.CurrentMode() == ECamControllerShutdown ) @@ -527,7 +532,7 @@ // container has some other control than listbox CCoeControl::HandlePointerEventL( aPointerEvent ); }*/ - iCaptureSetupControl->HandlePointerEventL( aPointerEvent ); + //iCaptureSetupControl->HandlePointerEventL( aPointerEvent ); } // --------------------------------------------------------- diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamImageSaveActive.cpp --- a/camerauis/cameraapp/generic/src/CamImageSaveActive.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamImageSaveActive.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -100,7 +100,6 @@ #if defined(RD_MDS_2_5) && !defined(__WINSCW__) && !defined(__WINS__) DeRegisterHarverterClientEvents(); - iHarvesterClient.Close(); #endif // defined(RD_MDS_2_5) && !defined(__WINSCW__) && !defined(__WINS__) PRINT( _L("Camera <= ~CCamImageSaveActive") ); @@ -962,6 +961,8 @@ { iHarvesterClient.RemoveObserver( this ); iRegisteredForHarvesterEvents = EFalse; + iHarvesterClient.Close(); + iHarvesterClientConnected = EFalse; } else { diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamNaviCounterModel.cpp --- a/camerauis/cameraapp/generic/src/CamNaviCounterModel.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamNaviCounterModel.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -1920,6 +1920,7 @@ variant = 1; // landscape indicatorVariant = 0; } + TInt secCamera = ECamActiveCameraSecondary == iController.ActiveCamera(); TAknLayoutRect camIndicatorPane; camIndicatorPane.LayoutRect( iExtent, @@ -1929,7 +1930,7 @@ AknLayoutScalable_Apps::cam4_indicators_pane_g2( indicatorVariant ) ); iPhotoTextItem->SetLayoutL( camIndicatorPane.Rect(), - AknLayoutScalable_Apps::cam4_indicators_pane_t1( indicatorVariant ) ); + AknLayoutScalable_Apps::cam4_indicators_pane_t1( secCamera ) ); TAknLayoutRect vidIndicatorPane; vidIndicatorPane.LayoutRect( iExtent, diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp --- a/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamPreCaptureViewBase.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -413,8 +413,9 @@ { PRINT( _L( "Camera <> CCamPreCaptureViewBase::HandleForegroundEventL: to background" ) ); // Not behind an eikon/avkon server window + // or keylock on when camera needs to be released. TBool totalBackground = ETrue; - if ( iController.IsAppUiAvailable() ) + if ( iController.IsAppUiAvailable() && !iController.IsKeyLockOn() ) { totalBackground = appUi->AppInBackground( EFalse ); } @@ -1272,7 +1273,18 @@ // Hide the active palette static_cast( iEikonEnv->AppUi() ) ->SetActivePaletteVisibility( EFalse ); - + + // Hide the toolbar in standby mode + if ( iController.IsTouchScreenSupported() ) + { + CCamAppUi* appUi = static_cast( iEikonEnv->AppUi() ); + CAknToolbar* fixedToolbar = appUi->CurrentFixedToolbar(); + if ( fixedToolbar ) + { + fixedToolbar->SetToolbarVisibility( EFalse ); + } + } + // stop viewfinding StopViewFinder(); diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamStillPreCaptureContainer.cpp --- a/camerauis/cameraapp/generic/src/CamStillPreCaptureContainer.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamStillPreCaptureContainer.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -40,7 +40,7 @@ #include "camvfgridinterface.h" #include "camlinevfgriddrawer.h" -#include "campanic.h" +#include "CamPanic.h" // Constants const TUid KGridDrawerUid = { KCamLineDrawVfGridUid }; diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamStillUserSceneSetupView.cpp --- a/camerauis/cameraapp/generic/src/CamStillUserSceneSetupView.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamStillUserSceneSetupView.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -74,7 +74,7 @@ void CCamStillUserSceneSetupView::CreateContainerL() { iContainer = - CCamUserSceneSetupContainer::NewL( AppUi()->ClientRect(), + CCamUserSceneSetupContainer::NewL( ClientRect(), R_CAM_PHOTO_USER_SCENE_SETUP_TITLE_NAME , iController, *this ); } diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamVideoPreCaptureContainer.cpp --- a/camerauis/cameraapp/generic/src/CamVideoPreCaptureContainer.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamVideoPreCaptureContainer.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -40,6 +40,7 @@ #include #include #include +#include #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "CamVideoPreCaptureContainerTraces.h" @@ -72,6 +73,10 @@ CCamVideoPreCaptureContainer::~CCamVideoPreCaptureContainer() { PRINT( _L("Camera => ~CCamVideoPreCaptureContainer") ); + if ( iFeedback ) + { + iFeedback->RemoveFeedbackForControl( this ); + } delete iFileTypeIndicator; PRINT( _L("Camera <= ~CCamVideoPreCaptureContainer") ); } @@ -136,6 +141,14 @@ static_cast( this ) ->SetupActivePaletteL( static_cast(&iView) ); } + + if ( iController.IsTouchScreenSupported() ) + { + // Get pointer of touch feedback instance + iFeedback = MTouchFeedback::Instance(); + if ( !iFeedback ) + iFeedback = MTouchFeedback::CreateInstanceL(); + } } // --------------------------------------------------------------------------- @@ -171,6 +184,10 @@ { case ECamCapturing: { + if ( iController.IsTouchScreenSupported() && iFeedback ) + { + iFeedback->EnableFeedbackForControl( this, EFalse ); + } iRecordState = ECamRecording; iResolutionIndicators[iCurrentIndicator]->SetRect(iResolutionIndicatorVidcapPosition); break; @@ -219,6 +236,10 @@ { iResolutionIndicators[iCurrentIndicator]->SetRect( ResolutionIndicatorRect() ); iFileTypeIndicator->SetRect( iFileTypeIndicatorPosition ); + if ( iController.IsTouchScreenSupported() && iFeedback ) + { + iFeedback->EnableFeedbackForControl( this, ETrue ); + } break; } // --------------------------------------------------- diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamVideoPreCaptureView.cpp --- a/camerauis/cameraapp/generic/src/CamVideoPreCaptureView.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamVideoPreCaptureView.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -258,6 +258,7 @@ { PRINT( _L("Camera <> CCamVideoPreCaptureView::HandleCommandL: case ECamCmdExitStandby") ); ExitStandbyModeL(); + UpdateToolbarIconsL(); break; } // --------------------------------------------------- diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/CamZoomModel.cpp --- a/camerauis/cameraapp/generic/src/CamZoomModel.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/CamZoomModel.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -1221,7 +1221,15 @@ case ECamZoomModeDigital: { - stepPeriod = iZoomLAF.iZoomSpeedDig * 1000; + if( iCameraState & ECamImageOn ) + { + stepPeriod = iZoomLAF.iZoomSpeedDig * 1000; + } + else + { + // use slower speed for videomode + stepPeriod = iZoomLAF.iZoomSpeedDig * 2000; + } break; } diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp --- a/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/cameracontroller/camcameracontroller.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -95,8 +95,8 @@ #include "CamAppUi.h" #include "CameraUiConfigManager.h" -#include "CamViewBase.h" -#include "campanic.h" +#include "CamViewBase.h" +#include "CamPanic.h" // =========================================================================== // Local constants const TInt KIveRecoveryCountMax = 2; diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/generic/src/cameracontroller/camsettingprovider.cpp --- a/camerauis/cameraapp/generic/src/cameracontroller/camsettingprovider.cpp Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/generic/src/cameracontroller/camsettingprovider.cpp Fri Feb 19 22:36:31 2010 +0200 @@ -123,14 +123,10 @@ CheckNonNullL( ptr, KErrNotFound ); TCamParamsImage& params( (*ptr)() ); CCamAppUiBase* appUi = static_cast( CEikonEnv::Static()->AppUi() ); - if ( appUi->ActiveCamera() == ECamActiveCameraSecondary ) - { - params.iFormat = CCamera::EFormatJpeg; - } - else // primary camera - { - params.iFormat = CCamera::EFormatExif; - } + + // Both primary and secondary camera use Exif format + params.iFormat = CCamera::EFormatExif; + TCamPhotoSizeId PhotoSizeIndex = iSettingsModel->CurrentPhotoResolution(); TSize PhotoSize = iSettingsModel->ImageResolutionFromIndex( PhotoSizeIndex ); params.iSize = PhotoSize; @@ -227,7 +223,10 @@ CCamera::TFormat viewfinderFormat = CCamSettingConversion::Map2CameraFormat( displayMode ); - const TCamCameraMode cameraMode = iController.CurrentMode(); + const TCamCameraMode cameraMode = + ( appUi->TargetMode() != ECamControllerIdle) + ? appUi->TargetMode() + : iController.CurrentMode(); const TInt resolution = (cameraMode == ECamControllerVideo) ? iController.GetCurrentVideoResolution() : iController.GetCurrentImageResolution(); diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/help/data/xhtml.zip Binary file camerauis/cameraapp/help/data/xhtml.zip has changed diff -r 8b2d6d0384b0 -r dbec5787fa68 camerauis/cameraapp/help/inc/lcam.hlp.hrh --- a/camerauis/cameraapp/help/inc/lcam.hlp.hrh Tue Feb 02 00:01:39 2010 +0200 +++ b/camerauis/cameraapp/help/inc/lcam.hlp.hrh Fri Feb 19 22:36:31 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* 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"