--- 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