/**************************************************************************** * * (c) 2009-2020 QGROUNDCONTROL PROJECT * * QGroundControl is licensed according to the terms in the file * COPYING.md in the root of the source code directory. * ****************************************************************************/ import QtQuick 2.12 import QGroundControl 1.0 import QGroundControl.Controls 1.0 import QGroundControl.Controllers 1.0 Item { id: _root visible: QGroundControl.videoManager.hasVideo property Item pipState: videoPipState QGCPipState { id: videoPipState pipOverlay: _pipOverlay isDark: true onWindowAboutToOpen: { QGroundControl.videoManager.stopVideo() videoStartDelay.start() } onWindowAboutToClose: { QGroundControl.videoManager.stopVideo() videoStartDelay.start() } onStateChanged: { if (pipState.state !== pipState.fullState) { QGroundControl.videoManager.fullScreen = false } } } Timer { id: videoStartDelay interval: 2000; running: false repeat: false onTriggered: QGroundControl.videoManager.startVideo() } //-- Video Streaming FlightDisplayViewVideo { id: videoStreaming anchors.fill: parent useSmallFont: _root.pipState.state !== _root.pipState.fullState visible: QGroundControl.videoManager.isGStreamer } //-- UVC Video (USB Camera or Video Device) Loader { id: cameraLoader anchors.fill: parent visible: !QGroundControl.videoManager.isGStreamer source: visible ? (QGroundControl.videoManager.uvcEnabled ? "qrc:/qml/FlightDisplayViewUVC.qml" : "qrc:/qml/FlightDisplayViewDummy.qml") : "" } MouseArea { anchors.fill: parent enabled: pipState.state === pipState.fullState onDoubleClicked: QGroundControl.videoManager.fullScreen = !QGroundControl.videoManager.fullScreen } ProximityRadarVideoView{ anchors.fill: parent vehicle: QGroundControl.multiVehicleManager.activeVehicle } }