onPreviewAvailable: overlay.previewAvailable(preview)
- onSaved: mountProtector.unlock()
+ onSaved: mountProtector.unlock(fileNaming.imagePath)
}
ZoomSlider {
anchors.right: parent.right
anchors.rightMargin: 20
anchors.verticalCenter: parent.verticalCenter
- iconId: cameraTheme.captureButtonImageIconId
+ iconSource: cameraTheme.captureButtonImageIconId
width: 75
height: 75
opacity: 0.5
Indicator {
id: flashIndicator
- source: "image://theme/" + cameraTheme.flashIndicatorIcon(settings.imageFlashMode)
+ visible: !toolBar.expanded
+ source: cameraTheme.flashIcon(settings.imageFlashMode)
}
- Indicator {
- id: resolutionIndicator
- property string imageAspectRatio: settings.device == 1 ? settings.secondaryImageAspectRatio : settings.primaryImageAspectRatio
- property string imageResolution: settings.device == 1 ? settings.secondaryImageResolution : settings.primaryImageResolution
- source: "image://theme/" + cameraTheme.imageIcon(imageAspectRatio, imageResolution, settings.device)
+ CameraLabel {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.leftMargin: 5
+ anchors.rightMargin: 5
+ anchors.topMargin: 5
+ anchors.bottomMargin: 5
+ property string mp: imageSettings.currentResolutionMegapixel == "" ? "?" : imageSettings.currentResolutionMegapixel
+ text: qsTr("%1M").arg(mp)
+ font.bold: true
+ verticalAlignment: Text.AlignVCenter
+ horizontalAlignment: Text.AlignHCenter
}
Indicator {
id: wbIndicator
- source: visible ? "image://theme/" + cameraTheme.whiteBalanceIndicatorIcon(settings.imageWhiteBalance) : ""
- visible: settings.imageWhiteBalance != WhiteBalance.Auto
+ source: visible ? cameraTheme.whiteBalanceIcon(settings.imageWhiteBalance) : ""
+ visible: settings.imageWhiteBalance != WhiteBalance.Auto && !toolBar.expanded
}
Indicator {
id: cfIndicator
- source: visible ? "image://theme/" + cameraTheme.colorFilterIndicatorIcon(settings.imageColorFilter) : ""
- visible: settings.imageColorFilter != ColorTone.Normal
+ source: visible ? cameraTheme.colorFilterIcon(settings.imageColorFilter) : ""
+ visible: settings.imageColorFilter != ColorTone.Normal && !toolBar.expanded
}
Indicator {
id: isoIndicator
- visible: settings.imageIso != 0
- source: visible ? "image://theme/" + cameraTheme.isoIcon(settings.imageIso) : ""
+ visible: settings.imageIso != 0 && !toolBar.expanded
+ source: visible ? cameraTheme.isoIcon(settings.imageIso) : ""
}
Indicator {
id: sceneIndicator
- visible: settings.imageSceneMode != Scene.Auto
- source: visible ? "image://theme/" + cameraTheme.imageSceneModeIndicatorIcon(settings.imageSceneMode) : ""
+ visible: settings.imageSceneMode != Scene.Auto && !toolBar.expanded
+ source: visible ? cameraTheme.imageSceneModeIcon(settings.imageSceneMode) : ""
}
Indicator {
}
function cameraError() {
- mountProtector.unlock()
+ mountProtector.unlock(fileNaming.imagePath)
}
function policyLost() {
} else if (!fileSystem.available) {
showError(qsTr("Camera cannot capture images in mass storage mode."))
cam.autoFocus.stopAutoFocus()
- } else if (!checkDiskSpace()) {
+ } else if (!fileSystem.hasFreeSpace(fileNaming.imagePath)) {
showError(qsTr("Not enough space to capture images."))
cam.autoFocus.stopAutoFocus()
- } else if (!mountProtector.lock()) {
+ } else if (!mountProtector.lock(fileNaming.imagePath)) {
showError(qsTr("Failed to lock images directory."))
cam.autoFocus.stopAutoFocus()
} else {
var fileName = fileNaming.imageFileName()
if (!imageMode.capture(fileName)) {
showError(qsTr("Failed to capture image. Please restart the camera."))
- mountProtector.unlock()
+ mountProtector.unlock(fileNaming.imagePath)
cam.autoFocus.stopAutoFocus()
} else {
trackerStore.storeImage(fileName)