From bf922c4aa3164bf3a50b904126b77a350dafdb71 Mon Sep 17 00:00:00 2001 From: Mohammed Sameer Date: Sun, 8 Sep 2013 21:31:34 +0300 Subject: [PATCH] Try to revent accidental capture via proximity sensor. We will delay the proximity close event by 500ms to try to prevent accidental capture --- qml/ImageOverlay.qml | 2 +- qml/MainPage.qml | 19 +++++++++++++++++++ qml/VideoOverlay.qml | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/qml/ImageOverlay.qml b/qml/ImageOverlay.qml index ec1ee83..2add9c5 100644 --- a/qml/ImageOverlay.qml +++ b/qml/ImageOverlay.qml @@ -107,7 +107,7 @@ Item { id: captureControl capturePressed: capture.pressed zoomPressed: zoomCapture.zoomPressed - proximityClosed: proximitySensor.close + proximityClosed: proximitySensor.sensorClosed onStartCapture: captureImage() onCancelCapture: stopAutoFocus() } diff --git a/qml/MainPage.qml b/qml/MainPage.qml index 82d914e..1201f8c 100644 --- a/qml/MainPage.qml +++ b/qml/MainPage.qml @@ -284,9 +284,28 @@ CameraPage { repeat: !settings.zoomAsShutter } + Timer { + id: proximityTimer + running: proximitySensor.close + repeat: false + interval: 500 + onTriggered: { + if (proximitySensor.close) { + proximitySensor.sensorClosed = true + } + } + } + CameraProximitySensor { id: proximitySensor + property bool sensorClosed: false + active: Qt.application.active && viewfinder.camera.running && settings.proximityAsShutter && root.inCaptureMode && !mainView.moving + onCloseChanged: { + if (!close) { + sensorClosed = false + } + } } Standby { diff --git a/qml/VideoOverlay.qml b/qml/VideoOverlay.qml index 7cd62e6..1210f82 100644 --- a/qml/VideoOverlay.qml +++ b/qml/VideoOverlay.qml @@ -73,7 +73,7 @@ Item { id: captureControl capturePressed: capture.pressed zoomPressed: zoomCapture.zoomPressed - proximityClosed: proximitySensor.close + proximityClosed: proximitySensor.sensorClosed onStartCapture: overlay.toggleRecording() } -- 2.25.1