diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index f07d6a3..5877af0 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -185,7 +185,7 @@
src/PlanView/TerrainStatus.qml
src/PlanView/TakeoffItemMapVisual.qml
src/QmlControls/ToolStrip.qml
- src/QmlControls/ToolStripHoverButton.qml
+ src/QmlControls/ToolStripHoverButton.qml
src/PlanView/TransectStyleComplexItemEditor.qml
src/PlanView/TransectStyleComplexItemStats.qml
src/PlanView/TransectStyleComplexItemTabBar.qml
@@ -287,6 +287,8 @@
src/AnalyzeView/VibrationPage.qml
src/FlightDisplay/VirtualJoystick.qml
src/PlanView/VTOLLandingPatternEditor.qml
+ src/comm/MockLinkOptionsDlg.qml
+ src/FlightDisplay/FlyViewInsetViewer.qml
src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml
@@ -357,7 +359,4 @@
src/comm/MockLink.Parameter.MetaData.json
src/comm/Mocklink.Arduplane.params.ftp.bin
-
- src/comm/MockLinkOptionsDlg.qml
-
diff --git a/src/FlightDisplay/FlyView.qml b/src/FlightDisplay/FlyView.qml
index 0f0a378..68c2a8b 100644
--- a/src/FlightDisplay/FlyView.qml
+++ b/src/FlightDisplay/FlyView.qml
@@ -85,6 +85,7 @@ Item {
visible: !QGroundControl.videoManager.fullScreen
}
+
FlyViewCustomLayer {
id: customOverlay
anchors.fill: widgetLayer
@@ -94,6 +95,20 @@ Item {
visible: !QGroundControl.videoManager.fullScreen
}
+ // Development tool for visualizing the insets for a paticular layer, enable if needed
+ /*
+ FlyViewInsetViewer {
+ id: widgetLayerInsetViewer
+ anchors.top: parent.top
+ anchors.bottom: parent.bottom
+ anchors.left: parent.left
+ anchors.right: guidedValueSlider.visible ? guidedValueSlider.left : parent.right
+
+ z: widgetLayer.z + 1
+
+ insetsToView: customOverlay.totalToolInsets
+ }*/
+
GuidedActionsController {
id: guidedActionsController
missionController: _missionController
diff --git a/src/FlightDisplay/FlyViewInsetViewer.qml b/src/FlightDisplay/FlyViewInsetViewer.qml
new file mode 100644
index 0000000..2f95208
--- /dev/null
+++ b/src/FlightDisplay/FlyViewInsetViewer.qml
@@ -0,0 +1,194 @@
+/****************************************************************************
+ *
+ * (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 QtQuick.Controls 2.4
+import QtQuick.Dialogs 1.3
+import QtQuick.Layouts 1.12
+
+import QtLocation 5.3
+import QtPositioning 5.3
+import QtQuick.Window 2.2
+import QtQml.Models 2.1
+
+import QGroundControl 1.0
+import QGroundControl.Controls 1.0
+import QGroundControl.Controllers 1.0
+import QGroundControl.FlightDisplay 1.0
+import QGroundControl.ScreenTools 1.0
+import QGroundControl.FlightMap 1.0
+
+
+// This is the ui overlay layer for the widgets/tools for Fly View
+Item {
+ id: _root
+ property var insetsToView: QGCToolInsets {}
+ property int _linethickness: 3
+
+ Rectangle {
+ anchors.left: parent.left
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.leftMargin: parent.width/8
+ height: checkboxcolumn.height
+ width: checkboxcolumn.width
+ color: "dimgray"
+
+ ColumnLayout {
+ id: checkboxcolumn
+ QGCCheckBox{
+ checked: true
+ text: "leftEdgeTopInset"
+ onClicked: leftEdgeTopInset.visible = checked
+ textColor: leftEdgeTopInset.color
+ textBold: true
+ }
+ QGCCheckBox{
+ checked: true
+ text: "leftEdgeBottomInset"
+ onClicked: leftEdgeBottomInset.visible = checked
+ textColor: leftEdgeBottomInset.color
+ textBold: true
+ }
+ QGCCheckBox{
+ checked: true
+ text: "rightEdgeTopInset"
+ onClicked: rightEdgeTopInset.visible = checked
+ textColor: rightEdgeTopInset.color
+ textBold: true
+ }
+ QGCCheckBox{
+ checked: true
+ text: "rightEdgeBottomInset"
+ onClicked: rightEdgeBottomInset.visible = checked
+ textColor: rightEdgeBottomInset.color
+ textBold: true
+ }
+ QGCCheckBox{
+ checked: true
+ text: "topEdgeLeftInset"
+ onClicked: topEdgeLeftInset.visible = checked
+ textColor: topEdgeLeftInset.color
+ textBold: true
+ }
+ QGCCheckBox{
+ checked: true
+ text: "topEdgeRightInset"
+ onClicked: topEdgeRightInset.visible = checked
+ textColor: topEdgeRightInset.color
+ textBold: true
+ }
+ QGCCheckBox{
+ checked: true
+ text: "bottomEdgeLeftInset"
+ onClicked: bottomEdgeLeftInset.visible = checked
+ textColor: bottomEdgeLeftInset.color
+ textBold: true
+ }
+ QGCCheckBox{
+ checked: true
+ text: "bottomEdgeRightInset"
+ onClicked: bottomEdgeRightInset.visible = checked
+ textColor: bottomEdgeRightInset.color
+ textBold: true
+ }
+ QGCCheckBox{
+ checked: true
+ text: "centerInsetRect"
+ onClicked: centerInsetRect.visible = checked
+ textColor: centerInsetRect.border.color
+ textBold: true
+ }
+ }
+
+ }
+
+ Rectangle { // leftEdgeTopInset
+ id: leftEdgeTopInset
+ anchors.top: parent.top
+ anchors.left: parent.left
+ anchors.leftMargin: insetsToView.leftEdgeTopInset
+ height: parent.height
+ width: _linethickness
+ color: "coral"
+ }
+ Rectangle { // leftEdgeBottomInset
+ id: leftEdgeBottomInset
+ anchors.top: parent.top
+ anchors.left: parent.left
+ anchors.leftMargin: insetsToView.leftEdgeBottomInset
+ height: parent.height
+ width: _linethickness
+ color: "cornflowerblue"
+ }
+ Rectangle { // rightEdgeTopInset
+ id: rightEdgeTopInset
+ anchors.top: parent.top
+ anchors.right: parent.right
+ anchors.rightMargin: insetsToView.rightEdgeTopInset
+ height: parent.height
+ width: _linethickness
+ color: "darkslateblue"
+ }
+ Rectangle { // rightEdgeBottomInset
+ id: rightEdgeBottomInset
+ anchors.top: parent.top
+ anchors.right: parent.right
+ anchors.rightMargin: insetsToView.rightEdgeBottomInset
+ height: parent.height
+ width: _linethickness
+ color: "firebrick"
+ }
+ Rectangle { // topEdgeLeftInset
+ id: topEdgeLeftInset
+ anchors.top: parent.top
+ anchors.left: parent.left
+ anchors.topMargin: insetsToView.topEdgeLeftInset
+ height: _linethickness
+ width: parent.width
+ color: "mediumseagreen"
+ }
+ Rectangle { // topEdgeRightInset
+ id: topEdgeRightInset
+ anchors.top: parent.top
+ anchors.left: parent.left
+ anchors.topMargin: insetsToView.topEdgeRightInset
+ height: _linethickness
+ width: parent.width
+ color: "moccasin"
+ }
+ Rectangle { // bottomEdgeLeftInset
+ id: bottomEdgeLeftInset
+ anchors.bottom: parent.bottom
+ anchors.left: parent.left
+ anchors.bottomMargin: insetsToView.bottomEdgeLeftInset
+ height: _linethickness
+ width: parent.width
+ color: "salmon"
+ }
+ Rectangle { // bottomEdgeRightInset
+ id: bottomEdgeRightInset
+ anchors.bottom: parent.bottom
+ anchors.left: parent.left
+ anchors.bottomMargin: insetsToView.bottomEdgeRightInset
+ height: _linethickness
+ width: parent.width
+ color: "slategrey"
+ }
+ Rectangle {
+ id: centerInsetRect
+ x: insetsToView.leftEdgeCenterInset
+ y: insetsToView.topEdgeCenterInset
+ width: _root.width - insetsToView.leftEdgeCenterInset - insetsToView.rightEdgeCenterInset
+ height: _root.height - insetsToView.topEdgeCenterInset - insetsToView.bottomEdgeCenterInset
+ color: "transparent"
+ border.color: "yellow"
+ border.width: 1
+ radius: 0
+ }
+}
diff --git a/src/QmlControls/QGroundControl/FlightDisplay/qmldir b/src/QmlControls/QGroundControl/FlightDisplay/qmldir
index 4c2ee84..f27005c 100644
--- a/src/QmlControls/QGroundControl/FlightDisplay/qmldir
+++ b/src/QmlControls/QGroundControl/FlightDisplay/qmldir
@@ -11,6 +11,7 @@ FlyViewToolStrip 1.0 FlyViewToolStrip.qml
FlyViewToolStripActionList 1.0 FlyViewToolStripActionList.qml
FlyViewVideo 1.0 FlyViewVideo.qml
FlyViewWidgetLayer 1.0 FlyViewWidgetLayer.qml
+FlyViewInsetViewer 1.0 FlyViewInsetViewer.qml
GuidedActionActionList 1.0 GuidedActionActionList.qml
GuidedActionConfirm 1.0 GuidedActionConfirm.qml
GuidedActionsController 1.0 GuidedActionsController.qml