地面站终端 App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
2.8 KiB

/****************************************************************************
*
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* 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
import QGroundControl.ScreenTools 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") : ""
}
QGCLabel {
text: qsTr("Double-click to exit full screen")
font.pointSize: ScreenTools.largeFontPointSize
visible: QGroundControl.videoManager.fullScreen && flyViewVideoMouseArea.containsMouse
anchors.centerIn: parent
}
MouseArea {
id: flyViewVideoMouseArea
anchors.fill: parent
enabled: pipState.state === pipState.fullState
hoverEnabled: true
onDoubleClicked: QGroundControl.videoManager.fullScreen = !QGroundControl.videoManager.fullScreen
}
ProximityRadarVideoView{
anchors.fill: parent
vehicle: QGroundControl.multiVehicleManager.activeVehicle
}
ObstacleDistanceOverlayVideo {
id: obstacleDistance
showText: pipState.state === pipState.fullState
}
}