+ }
+
+ function showError(msg) {
+ error.text = msg
+ error.show()
+ }
+
+ property alias dimmer: camDimmer
+ CameraPositionSource {
+ id: positionSource
+ active: settings.useGps
+ // TODO: we cannot bind to cam.running because camera will stop
+ // when the connection dialog pops up and we end up with an infinite loop
+ // active: cam.running && settings.useGps
+ onPositionChanged: geocode.search(position.coordinate.longitude, position.coordinate.latitude)
+ }
+
+ MetaData {
+ id: metaData
+ camera: viewfinder.camera
+ manufacturer: deviceInfo.manufacturer
+ model: deviceInfo.model
+ country: geocode.country
+ city: geocode.city
+ suburb: geocode.suburb
+ longitude: positionSource.longitude
+ longitudeValid: positionSource.longitudeValid && settings.useGps
+ latitude: positionSource.latitude
+ latitudeValid: positionSource.latitudeValid && settings.useGps
+ elevation: positionSource.altitude
+ elevationValid: positionSource.altitudeValid && settings.useGps
+ orientation: orientation.orientation
+ artist: settings.creatorName
+ captureDirection: compass.direction
+ captureDirectionValid: compass.directionValid
+ horizontalError: positionSource.horizontalAccuracy
+ horizontalErrorValid: positionSource.horizontalAccuracyValid && settings.useGps
+ dateTimeEnabled: true
+ }
+
+ Orientation {
+ id: orientation
+ active: viewfinder.camera.running || (mainView.currentIndex == 2 && Qt.application.active)
+ }