diff -r d9aefe59d544 -r 3075d9b614e6 camerauis/cameraxui/cxengine/src/cxeautofocuscontrolsymbian.cpp --- a/camerauis/cameraxui/cxengine/src/cxeautofocuscontrolsymbian.cpp Fri Apr 16 14:51:30 2010 +0300 +++ b/camerauis/cameraxui/cxengine/src/cxeautofocuscontrolsymbian.cpp Thu May 13 21:30:19 2010 +0300 @@ -52,6 +52,7 @@ initializeStates(); + OstTrace0(camerax_performance, CXEAUTOFOCUSCONTROLSYMBIAN_CREATE_MID1, "msg: e_CX_ENGINE_CONNECT_SIGNALS 1"); // connect signals from cameraDevice, so we recieve events when camera reference changes QObject::connect( &cameraDevice, SIGNAL(prepareForCameraDelete()), @@ -64,6 +65,7 @@ QObject::connect( &cameraDevice, SIGNAL(prepareForRelease()), this,SLOT(prepareForRelease()) ); + OstTrace0(camerax_performance, CXEAUTOFOCUSCONTROLSYMBIAN_CREATE_MID2, "msg: e_CX_ENGINE_CONNECT_SIGNALS 0"); initializeResources(); @@ -84,11 +86,14 @@ /* * Start Autofocus +* \param soundEnabled False if the auto focus sound don't need to be played +* Default value for soundEnabled is true */ -CxeError::Id CxeAutoFocusControlSymbian::start() +CxeError::Id CxeAutoFocusControlSymbian::start(bool soundEnabled) { - CX_DEBUG( ("CxeAutoFocusControlSymbian::start() <> state: %d", state() ) ); - + CX_DEBUG( ("CxeAutoFocusControlSymbian::start() <> state: %d, sound enabled: %d", + state(), soundEnabled ) ); + mSoundEnabled = soundEnabled; int err = KErrNone; CX_ASSERT_ALWAYS(mAdvancedSettings); @@ -104,7 +109,6 @@ } CX_DEBUG( ("CxeAutoFocusControlSymbian::start() <= err : %d", err ) ); - return CxeErrorHandlingSymbian::map(err); } @@ -199,7 +203,8 @@ // We're only interested in autofocus events if ( eventUid == KUidECamEventCameraSettingsOptimalFocusUidValue || - eventUid == KUidECamEventCameraSettingAutoFocusType2UidValue ) { + eventUid == KUidECamEventCameraSettingAutoFocusType2UidValue || + eventUid == KUidECamEventCameraSettingFocusRangeUidValue) { // Autofocus Event handle it. handleAfEvent(eventUid, error); } @@ -410,6 +415,13 @@ } else { setState(CxeAutoFocusControl::Failed, error); } + } else if (eventUid == KUidECamEventCameraSettingFocusRangeUidValue) { + // check for error, we don't need this event for anything else + if (error != KErrNone) { + CX_DEBUG(("CxeAutofocusControlSymbian::handleAfEvent <> " + "KUidECamEventCameraSettingFocusRangeUidValue: autofocus failed %d", error)); + setState(CxeAutoFocusControl::Failed, error); + } } break; } @@ -433,6 +445,16 @@ break; } // end switch + CX_DEBUG_EXIT_FUNCTION(); +} + +/*! + * Public method for checking if auto focus sound is enabled + * \return true if enabled + */ +bool CxeAutoFocusControlSymbian::isSoundEnabled() const +{ + return mSoundEnabled; } // end of file