Try to revent accidental capture via proximity sensor.
authorMohammed Sameer <msameer@foolab.org>
Sun, 8 Sep 2013 18:31:34 +0000 (21:31 +0300)
committerMohammed Sameer <msameer@foolab.org>
Sun, 8 Sep 2013 18:31:34 +0000 (21:31 +0300)
We will delay the proximity close event by 500ms to try to prevent accidental capture

qml/ImageOverlay.qml
qml/MainPage.qml
qml/VideoOverlay.qml

index ec1ee83..2add9c5 100644 (file)
@@ -107,7 +107,7 @@ Item {
         id: captureControl
         capturePressed: capture.pressed
         zoomPressed: zoomCapture.zoomPressed
         id: captureControl
         capturePressed: capture.pressed
         zoomPressed: zoomCapture.zoomPressed
-        proximityClosed: proximitySensor.close
+        proximityClosed: proximitySensor.sensorClosed
         onStartCapture: captureImage()
         onCancelCapture: stopAutoFocus()
     }
         onStartCapture: captureImage()
         onCancelCapture: stopAutoFocus()
     }
index 82d914e..1201f8c 100644 (file)
@@ -284,9 +284,28 @@ CameraPage {
         repeat: !settings.zoomAsShutter
     }
 
         repeat: !settings.zoomAsShutter
     }
 
+    Timer {
+        id: proximityTimer
+        running: proximitySensor.close
+        repeat: false
+        interval: 500
+        onTriggered: {
+            if (proximitySensor.close) {
+                proximitySensor.sensorClosed = true
+            }
+        }
+    }
+
     CameraProximitySensor {
         id: proximitySensor
     CameraProximitySensor {
         id: proximitySensor
+        property bool sensorClosed: false
+
         active: Qt.application.active && viewfinder.camera.running && settings.proximityAsShutter && root.inCaptureMode && !mainView.moving
         active: Qt.application.active && viewfinder.camera.running && settings.proximityAsShutter && root.inCaptureMode && !mainView.moving
+        onCloseChanged: {
+            if (!close) {
+                sensorClosed = false
+            }
+        }
     }
 
     Standby {
     }
 
     Standby {
index 7cd62e6..1210f82 100644 (file)
@@ -73,7 +73,7 @@ Item {
         id: captureControl
         capturePressed: capture.pressed
         zoomPressed: zoomCapture.zoomPressed
         id: captureControl
         capturePressed: capture.pressed
         zoomPressed: zoomCapture.zoomPressed
-        proximityClosed: proximitySensor.close
+        proximityClosed: proximitySensor.sensorClosed
         onStartCapture: overlay.toggleRecording()
     }
 
         onStartCapture: overlay.toggleRecording()
     }