+ onDeviceAboutToChange: {
+ root.deviceChangeInProgress = true
+ }
+
+ onDeviceChanged: {
+ viewfinder.cameraDeviceChanged()
+
+ // Reset pipeline manager error
+ pipelineManager.error = false
+
+ if (root.resetCamera(settings.device, settings.mode)) {
+ root.deviceChangeInProgress = false
+ pipelineManager.startCamera()
+ }
+ }
+
+ onImageAspectRatioChanged: {
+ if (!root.deviceChangeInProgress) {
+ imageSettings.setImageResolution()
+ }
+ }
+
+ onImageResolutionChanged: {
+ if (!root.deviceChangeInProgress) {
+ imageSettings.setImageResolution()
+ }
+ }
+
+ onVideoResolutionChanged: {
+ if (!root.deviceChangeInProgress) {
+ videoSettings.setVideoResolution()
+ }
+ }
+
+ onVideoAspectRatioChanged: {
+ if (!root.deviceChangeInProgress) {
+ videoSettings.setVideoResolution()
+ }
+ }