onClicked: {
if (!fileSystem.available) {
showError(qsTr("Camera cannot capture images in mass storage mode."));
+ return;
}
- else if (!imageMode.capture(fileNaming.imageFileName())) {
+
+ metaData.setMetaData();
+
+ if (!imageMode.capture(fileNaming.imageFileName())) {
showError(qsTr("Failed to capture image. Please restart the camera."));
}
}
target: resourcePolicy
onAcquiredChanged: {
if (resourcePolicy.acquired && policyMode == CameraResources.Recording) {
+ metaData.setMetaData();
if (!videoMode.startRecording(fileNaming.videoFileName())) {
showError(qsTr("Failed to record video. Please restart the camera."));
policyMode = CameraResources.Video
import QtCamera 1.0
import CameraPlus 1.0
import QtMobility.systeminfo 1.2
+import QtMobility.location 1.2
-// TODO: metadata creator name, gps, geotags
// TODO: resolutions and aspect ratios
// TODO: postcapture
// TODO: battery low state
error.show();
}
+ PositionSource {
+ id: positionSource
+ active: cam.running && settings.useGps
+ onPositionChanged: geocode.search(position.coordinate.longitude, position.coordinate.latitude);
+ }
+
+ MetaData {
+ id: metaData
+ camera: cam
+ manufacturer: deviceInfo.manufacturer
+ model: deviceInfo.model
+ country: geocode.country
+ city: geocode.city
+ suburb: geocode.suburb
+ longitude: positionSource.position.coordinate.longitude
+ longitudeValid: positionSource.position.longitudeValid && settings.useGps
+ latitude: positionSource.position.coordinate.latitude
+ latitudeValid: positionSource.position.latitudeValid && settings.useGps
+ elevation: positionSource.position.coordinate.altitude
+ elevationValid: positionSource.position.altitudeValid && settings.useGps
+ orientation: orientation.orientation
+ artist: settings.creatorName
+ captureDirection: compass.direction
+ captureDirectionValid: compass.directionValid
+ horizontalError: positionSource.position.horizontalAccuracy
+ horizontalErrorValid: positionSource.position.horizontalAccuracyValid && settings.useGps
+ dateTimeEnabled: true
+ }
+
+ Orientation {
+ id: orientation
+ active: cam.running
+ }
+
+ Compass {
+ id: compass
+ active: cam.running
+ }
+
+ ReverseGeocode {
+ id: geocode
+ active: cam.running && settings.useGps && settings.useGeotags
+ }
+
CameraResources {
id: resourcePolicy
onAcquiredChanged: {