X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=qml%2FVideoOverlay.qml;h=60e5467b37e453f7b043eae18e5e60f6494cfb36;hb=c5ecf23d0f96976948626ba51275419067fdd4ee;hp=24d44aa0350def0ca8f82ae020ba55650a61731d;hpb=9e2fef3185dcb1ffe1622e226f0064bef5f547c9;p=harmattan%2Fcameraplus diff --git a/qml/VideoOverlay.qml b/qml/VideoOverlay.qml index 24d44aa..60e5467 100644 --- a/qml/VideoOverlay.qml +++ b/qml/VideoOverlay.qml @@ -35,6 +35,7 @@ Item { && dimmer.opacity == 0.0 && !cameraMode.busy property bool pressed: overlay.recording || capture.pressed || zoomSlider.pressed || modeButton.pressed + property bool inhibitDim: recording signal previewAvailable(string uri) @@ -66,12 +67,20 @@ Item { ZoomCaptureButton { id: zoomCapture - onReleased: overlay.toggleRecording() } - ZoomCaptureCancel { + CaptureControl { + id: captureControl + capturePressed: capture.pressed + zoomPressed: zoomCapture.zoomPressed + proximityClosed: proximitySensor.sensorClosed + onStartCapture: overlay.toggleRecording() + } + + CaptureCancel { anchors.fill: parent - zoomCapture: zoomCapture + enabled: captureControl.showCancelBanner + onPressed: captureControl.canceled = true } CaptureButton { @@ -84,9 +93,14 @@ Item { height: 75 opacity: 0.5 - onClicked: overlay.toggleRecording() + visible: controlsVisible - visible: controlsVisible && (!settings.zoomAsShutter && keys.active) + onExited: { + if (mouseX <= 0 || mouseY <= 0 || mouseX > width || mouseY > height) { + // Release outside the button: + captureControl.canceled = true + } + } } CameraToolBar { @@ -104,11 +118,11 @@ Item { tools: CameraToolBarTools { VideoTorchButton { camera: cam - visible: !overlay.cam.quirks.hasQuirk(Quirks.NoVideoTorch) + visible: overlay.cam ? !overlay.cam.quirks.hasQuirk(Quirks.NoVideoTorch) : false } VideoSceneButton { - property bool hide: (overlay.recording && overlay.cam.quirks.hasQuirk(Quirks.NoSceneModeChangeDuringRecording)) || overlay.cam.quirks.hasQuirk(Quirks.NoNightSceneMode) + property bool hide: overlay.cam ? (overlay.recording && overlay.cam.quirks.hasQuirk(Quirks.NoSceneModeChangeDuringRecording)) || overlay.cam.quirks.hasQuirk(Quirks.NoNightSceneMode) : false visible: !hide onClicked: toolBar.push(tools) } @@ -190,10 +204,6 @@ Item { } } - DisplayState { - inhibitDim: overlay.recording - } - Connections { target: Qt.application onActiveChanged: {