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
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 |
|
} |
|
}
|
|
|