diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index b811f360d4917c9f150c198e73a2c3c590b6ad3a..84893af40676a31c811a10378e5582b07431a2cc 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -208,9 +208,11 @@
src/FlightMap/Widgets/VibrationPageWidget.qml
src/FlightMap/Widgets/VideoPageWidget.qml
src/FlightDisplay/VirtualJoystick.qml
+ src/QuadView/QuadToolBar.qml
+ src/QuadView/QuadView.qml
- src/Settings/APMMavlinkStreamRate.SettingsGroup.json
+ src/Settings/APMMavlinkStreamRate.SettingsGroup.json
src/MissionManager/CameraCalc.FactMetaData.json
src/MissionManager/CameraSpec.FactMetaData.json
src/MissionManager/CorridorScan.SettingsGroup.json
@@ -225,7 +227,7 @@
src/Settings/FlightMap.SettingsGroup.json
src/MissionManager/FWLandingPattern.FactMetaData.json
src/Settings/FlyView.SettingsGroup.json
- src/Settings/PlanView.SettingsGroup.json
+ src/Settings/PlanView.SettingsGroup.json
src/MissionManager/MavCmdInfoCommon.json
src/MissionManager/MavCmdInfoFixedWing.json
src/MissionManager/MavCmdInfoMultiRotor.json
diff --git a/src/QmlControls/QGroundControl.Controls.qmldir b/src/QmlControls/QGroundControl.Controls.qmldir
index 542461117f4c0d72ff89c64db3a42b873af96f3e..bc26350e247b89a27c0697a566daa135d13f40cd 100644
--- a/src/QmlControls/QGroundControl.Controls.qmldir
+++ b/src/QmlControls/QGroundControl.Controls.qmldir
@@ -65,6 +65,7 @@ QGCViewDialog 1.0 QGCViewDialog.qml
QGCViewDialogContainer 1.0 QGCViewDialogContainer.qml
QGCViewMessage 1.0 QGCViewMessage.qml
QGCViewPanel 1.0 QGCViewPanel.qml
+QuadToolBar 1.0 QuadToolBar.qml
RallyPointEditorHeader 1.0 RallyPointEditorHeader.qml
RallyPointItemEditor 1.0 RallyPointItemEditor.qml
RallyPointMapVisuals 1.0 RallyPointMapVisuals.qml
diff --git a/src/DroneDude/CameraCalc.qml b/src/QuadView/CameraCalc.qml
similarity index 100%
rename from src/DroneDude/CameraCalc.qml
rename to src/QuadView/CameraCalc.qml
diff --git a/src/DroneDude/CameraSection.qml b/src/QuadView/CameraSection.qml
similarity index 100%
rename from src/DroneDude/CameraSection.qml
rename to src/QuadView/CameraSection.qml
diff --git a/src/DroneDude/CorridorScanEditor.qml b/src/QuadView/CorridorScanEditor.qml
similarity index 100%
rename from src/DroneDude/CorridorScanEditor.qml
rename to src/QuadView/CorridorScanEditor.qml
diff --git a/src/DroneDude/CorridorScanMapVisual.qml b/src/QuadView/CorridorScanMapVisual.qml
similarity index 100%
rename from src/DroneDude/CorridorScanMapVisual.qml
rename to src/QuadView/CorridorScanMapVisual.qml
diff --git a/src/DroneDude/FWLandingPatternEditor.qml b/src/QuadView/FWLandingPatternEditor.qml
similarity index 100%
rename from src/DroneDude/FWLandingPatternEditor.qml
rename to src/QuadView/FWLandingPatternEditor.qml
diff --git a/src/DroneDude/FWLandingPatternMapVisual.qml b/src/QuadView/FWLandingPatternMapVisual.qml
similarity index 100%
rename from src/DroneDude/FWLandingPatternMapVisual.qml
rename to src/QuadView/FWLandingPatternMapVisual.qml
diff --git a/src/DroneDude/GeoFenceEditor.qml b/src/QuadView/GeoFenceEditor.qml
similarity index 100%
rename from src/DroneDude/GeoFenceEditor.qml
rename to src/QuadView/GeoFenceEditor.qml
diff --git a/src/DroneDude/GeoFenceMapVisuals.qml b/src/QuadView/GeoFenceMapVisuals.qml
similarity index 100%
rename from src/DroneDude/GeoFenceMapVisuals.qml
rename to src/QuadView/GeoFenceMapVisuals.qml
diff --git a/src/DroneDude/MissionItemEditor.qml b/src/QuadView/MissionItemEditor.qml
similarity index 100%
rename from src/DroneDude/MissionItemEditor.qml
rename to src/QuadView/MissionItemEditor.qml
diff --git a/src/DroneDude/MissionItemMapVisual.qml b/src/QuadView/MissionItemMapVisual.qml
similarity index 100%
rename from src/DroneDude/MissionItemMapVisual.qml
rename to src/QuadView/MissionItemMapVisual.qml
diff --git a/src/DroneDude/MissionItemStatus.qml b/src/QuadView/MissionItemStatus.qml
similarity index 100%
rename from src/DroneDude/MissionItemStatus.qml
rename to src/QuadView/MissionItemStatus.qml
diff --git a/src/DroneDude/MissionSettingsEditor.qml b/src/QuadView/MissionSettingsEditor.qml
similarity index 100%
rename from src/DroneDude/MissionSettingsEditor.qml
rename to src/QuadView/MissionSettingsEditor.qml
diff --git a/src/DroneDude/PlanToolBar.qml b/src/QuadView/QuadToolBar.qml
similarity index 100%
rename from src/DroneDude/PlanToolBar.qml
rename to src/QuadView/QuadToolBar.qml
diff --git a/src/DroneDude/PlanView.qml b/src/QuadView/QuadView.qml
similarity index 100%
rename from src/DroneDude/PlanView.qml
rename to src/QuadView/QuadView.qml
diff --git a/src/DroneDude/RallyPointEditorHeader.qml b/src/QuadView/RallyPointEditorHeader.qml
similarity index 100%
rename from src/DroneDude/RallyPointEditorHeader.qml
rename to src/QuadView/RallyPointEditorHeader.qml
diff --git a/src/DroneDude/RallyPointItemEditor.qml b/src/QuadView/RallyPointItemEditor.qml
similarity index 100%
rename from src/DroneDude/RallyPointItemEditor.qml
rename to src/QuadView/RallyPointItemEditor.qml
diff --git a/src/DroneDude/RallyPointMapVisuals.qml b/src/QuadView/RallyPointMapVisuals.qml
similarity index 100%
rename from src/DroneDude/RallyPointMapVisuals.qml
rename to src/QuadView/RallyPointMapVisuals.qml
diff --git a/src/DroneDude/SimpleItemEditor.qml b/src/QuadView/SimpleItemEditor.qml
similarity index 100%
rename from src/DroneDude/SimpleItemEditor.qml
rename to src/QuadView/SimpleItemEditor.qml
diff --git a/src/DroneDude/SimpleItemMapVisual.qml b/src/QuadView/SimpleItemMapVisual.qml
similarity index 100%
rename from src/DroneDude/SimpleItemMapVisual.qml
rename to src/QuadView/SimpleItemMapVisual.qml
diff --git a/src/DroneDude/StructureScanEditor.qml b/src/QuadView/StructureScanEditor.qml
similarity index 100%
rename from src/DroneDude/StructureScanEditor.qml
rename to src/QuadView/StructureScanEditor.qml
diff --git a/src/DroneDude/StructureScanMapVisual.qml b/src/QuadView/StructureScanMapVisual.qml
similarity index 100%
rename from src/DroneDude/StructureScanMapVisual.qml
rename to src/QuadView/StructureScanMapVisual.qml
diff --git a/src/DroneDude/SurveyItemEditor.qml b/src/QuadView/SurveyItemEditor.qml
similarity index 100%
rename from src/DroneDude/SurveyItemEditor.qml
rename to src/QuadView/SurveyItemEditor.qml
diff --git a/src/DroneDude/SurveyMapVisual.qml b/src/QuadView/SurveyMapVisual.qml
similarity index 100%
rename from src/DroneDude/SurveyMapVisual.qml
rename to src/QuadView/SurveyMapVisual.qml
diff --git a/src/DroneDude/TransectStyleComplexItemStats.qml b/src/QuadView/TransectStyleComplexItemStats.qml
similarity index 100%
rename from src/DroneDude/TransectStyleComplexItemStats.qml
rename to src/QuadView/TransectStyleComplexItemStats.qml
diff --git a/src/ui/MainWindowInner.qml b/src/ui/MainWindowInner.qml
index 098d17d8b452c1ec738f8d4297ece0e79babfb53..47a10dd2f9c31ec0abb6fff9da442b7daaf06859 100644
--- a/src/ui/MainWindowInner.qml
+++ b/src/ui/MainWindowInner.qml
@@ -33,11 +33,12 @@ Item {
property var activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property string formatedMessage: activeVehicle ? activeVehicle.formatedMessage : ""
- property var _viewList: [ settingsViewLoader, setupViewLoader, flightView, planViewLoader, analyzeViewLoader ]
+ property var _viewList: [ settingsViewLoader, setupViewLoader, planViewLoader, quadViewLoader, flightView, analyzeViewLoader ]
readonly property string _settingsViewSource: "AppSettings.qml"
readonly property string _setupViewSource: "SetupView.qml"
readonly property string _planViewSource: "PlanView.qml"
+ readonly property string _quadViewSource: "QuadView.qml"
readonly property string _analyzeViewSource: "AnalyzeView.qml"
onHeightChanged: {
@@ -109,6 +110,21 @@ Item {
planToolBar.visible = true
}
+ function showQuadView() {
+ mainWindow.enableToolbar()
+ rootLoader.sourceComponent = null
+ if(currentPopUp) {
+ currentPopUp.close()
+ }
+ if (quadViewLoader.source != _quadViewSource) {
+ quadViewLoader.source = _quadViewSource
+ }
+ ScreenTools.availableHeight = parent.height - toolBar.height
+ hideAllViews()
+ quadViewLoader.visible = true
+ quadToolBar.visible = true
+ }
+
function showFlyView() {
mainWindow.enableToolbar()
rootLoader.sourceComponent = null
@@ -163,6 +179,16 @@ Item {
onYes: activeConnectionsCloseDialog.check()
+
+
+
+
+
+
+
+
+
+ // here what to do?
function check() {
if (planViewLoader.item && planViewLoader.item.dirty) {
unsavedMissionCloseDialog.open()
@@ -283,7 +309,7 @@ Item {
onShowSetupView: mainWindow.showSetupView()
onShowFlyView: mainWindow.showFlyView()
onShowPlanView: mainWindow.showPlanView()
-
+ onShowQuadView: mainWindow.showQuadView()
onShowAnalyzeView: mainWindow.showAnalyzeView()
onArmVehicle: flightView.guidedController.confirmAction(flightView.guidedController.actionArm)
onDisarmVehicle: {
@@ -318,6 +344,20 @@ Item {
}
}
+ QuadToolBar {
+ id: quadToolBar
+ height: ScreenTools.toolbarHeight
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: parent.top
+ z: toolBar.z + 1
+
+ onShowFlyView: {
+ quadToolBar.visible = false
+ mainWindow.showFlyView()
+ }
+ }
+
Loader {
id: settingsViewLoader
anchors.left: parent.left
@@ -353,6 +393,14 @@ Item {
property var toolbar: planToolBar
}
+ Loader {
+ id: quadViewLoader
+ anchors.fill: parent
+ visible: false
+
+ property var toolbar: quadToolBar
+ }
+
FlightDisplayView {
id: flightView
anchors.fill: parent
diff --git a/src/ui/toolbar/MainToolBar.qml b/src/ui/toolbar/MainToolBar.qml
index 442456999b0dff3d520c63a3362310c48d764b63..56bb50c3483582c5f979e5f2f3bfc999b4b5fb66 100644
--- a/src/ui/toolbar/MainToolBar.qml
+++ b/src/ui/toolbar/MainToolBar.qml
@@ -30,6 +30,7 @@ Rectangle {
signal showSettingsView
signal showSetupView
signal showPlanView
+ signal showQuadView
signal showFlyView
signal showAnalyzeView
signal armVehicle
@@ -49,6 +50,10 @@ Rectangle {
planButton.checked = true
}
+ function checkQuadButton() {
+ quadButton.checked = true
+ }
+
function checkFlyButton() {
flyButton.checked = true
}
@@ -121,6 +126,15 @@ Rectangle {
onClicked: toolBar.showPlanView()
}
+ QGCToolBarButton {
+ id: quadButton
+ anchors.top: parent.top
+ anchors.bottom: parent.bottom
+ exclusiveGroup: mainActionGroup
+ source: "/res/waves.svg"
+ onClicked: toolBar.showQuadView()
+ }
+
QGCToolBarButton {
id: flyButton
anchors.top: parent.top