diff --git a/src/FlightMap/Widgets/CameraPageWidget.qml b/src/FlightMap/Widgets/CameraPageWidget.qml index 6800d1c4ef500a53548d72201c95ae783a30f19d..ad9a2c68f7067d959f239c8ca48af176878fa1f2 100644 --- a/src/FlightMap/Widgets/CameraPageWidget.qml +++ b/src/FlightMap/Widgets/CameraPageWidget.qml @@ -49,6 +49,7 @@ Column { property bool _storageReady: _camera && _camera.storageStatus === QGCCameraControl.STORAGE_READY property bool _storageIgnored: _camera && _camera.storageStatus === QGCCameraControl.STORAGE_NOT_SUPPORTED property bool _canShoot: !_cameraModeUndefined && ((_storageReady && _camera.storageFree > 0) || _storageIgnored) + property bool _isShooting: (_cameraVideoMode && _videoRecording) || (_cameraPhotoMode && !_photoIdle) function showSettings() { mainWindow.showComponentDialog(cameraSettings, _cameraVideoMode ? qsTr("Video Settings") : qsTr("Camera Settings"), 70, StandardButton.Ok) @@ -107,7 +108,7 @@ Column { color: _cameraVideoMode ? qgcPal.colorGreen : qgcPal.text MouseArea { anchors.fill: parent - enabled: _cameraPhotoMode + enabled: _cameraPhotoMode && !_isShooting onClicked: { _camera.setVideoMode() } @@ -134,7 +135,7 @@ Column { color: _cameraPhotoMode ? qgcPal.colorGreen : qgcPal.text MouseArea { anchors.fill: parent - enabled: _cameraVideoMode + enabled: _cameraVideoMode && !_isShooting onClicked: { _camera.setPhotoMode() } @@ -155,9 +156,9 @@ Column { border.width: 3 anchors.horizontalCenter: parent.horizontalCenter Rectangle { - width: parent.width * (_videoRecording || (_cameraPhotoMode && !_photoIdle && _cameraElapsedMode) ? 0.5 : 0.75) + width: parent.width * (_isShooting ? 0.5 : 0.75) height: width - radius: _videoRecording || (_cameraPhotoMode && !_photoIdle && _cameraElapsedMode) ? 0 : width * 0.5 + radius: _isShooting ? 0 : width * 0.5 color: _canShoot ? qgcPal.colorRed : qgcPal.colorGrey anchors.centerIn: parent } @@ -177,6 +178,7 @@ Column { } } } + //-- Timer/Counter Item { width: 1; height: ScreenTools.defaultFontPixelHeight * 0.75; visible: _camera; } QGCLabel { text: (_cameraVideoMode && _camera.videoStatus === QGCCameraControl.VIDEO_CAPTURE_STATUS_RUNNING) ? _camera.recordTimeStr : "00:00:00" @@ -190,6 +192,7 @@ Column { visible: _cameraPhotoMode anchors.horizontalCenter: parent.horizontalCenter } + //-- Settings Item { width: 1; height: ScreenTools.defaultFontPixelHeight; visible: _camera; } Component { id: cameraSettings