From 2167fdb6664bfe8986e566f80be6343e1d664516 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Thu, 30 Jul 2020 09:35:26 -0700 Subject: [PATCH] Move GuidedActionsController references to global --- src/FlightDisplay/FlyView.qml | 24 ++++++++--------- src/FlightDisplay/FlyViewInstrumentPanel.qml | 8 +++--- src/FlightDisplay/FlyViewMap.qml | 17 ++++++------ .../FlyViewMissionCompleteDialog.qml | 9 +++---- src/FlightDisplay/FlyViewToolStrip.qml | 3 --- .../FlyViewToolStripActionList.qml | 26 ++++++------------- src/FlightDisplay/FlyViewWidgetLayer.qml | 21 +++++++-------- src/FlightDisplay/GuidedActionActionList.qml | 6 ++--- src/FlightDisplay/GuidedActionLand.qml | 12 ++++----- src/FlightDisplay/GuidedActionPause.qml | 10 +++---- src/FlightDisplay/GuidedActionRTL.qml | 10 +++---- src/FlightDisplay/GuidedActionTakeoff.qml | 10 +++---- src/FlightDisplay/GuidedToolStripAction.qml | 7 ++--- src/FlightDisplay/MultiVehicleList.qml | 15 +++++------ src/FlightDisplay/MultiVehiclePanel.qml | 12 ++++----- src/FlightMap/MapItems/PlanMapItems.qml | 3 ++- src/ui/MainRootWindow.qml | 6 ++--- 17 files changed, 89 insertions(+), 110 deletions(-) diff --git a/src/FlightDisplay/FlyView.qml b/src/FlightDisplay/FlyView.qml index 0e404ead5..7323c8cc9 100644 --- a/src/FlightDisplay/FlyView.qml +++ b/src/FlightDisplay/FlyView.qml @@ -32,13 +32,14 @@ import QGroundControl.Vehicle 1.0 Item { id: _root + // These should only be used by MainRootWindow + property var planController: _planController + property var guidedController: _guidedController + PlanMasterController { - id: _planController - flyView: true - Component.onCompleted: { - start() - mainWindow.planMasterControllerFlyView = _planController - } + id: _planController + flyView: true + Component.onCompleted: start() } property bool _mainWindowIsMap: mapControl.pipState.state === mapControl.pipState.fullState @@ -138,12 +139,11 @@ Item { } FlyViewMap { - id: mapControl - guidedActionsController: _guidedController - planMasterController: _planController - rightPanelWidth: ScreenTools.defaultFontPixelHeight * 9 - pipMode: !_mainWindowIsMap - toolInsets: customOverlay.totalToolInsets + id: mapControl + planMasterController: _planController + rightPanelWidth: ScreenTools.defaultFontPixelHeight * 9 + pipMode: !_mainWindowIsMap + toolInsets: customOverlay.totalToolInsets mapName: "FlightDisplayView" } diff --git a/src/FlightDisplay/FlyViewInstrumentPanel.qml b/src/FlightDisplay/FlyViewInstrumentPanel.qml index e49477a0c..735330d06 100644 --- a/src/FlightDisplay/FlyViewInstrumentPanel.qml +++ b/src/FlightDisplay/FlyViewInstrumentPanel.qml @@ -22,13 +22,11 @@ Column { z: QGroundControl.zOrderWidgets property real availableHeight - property var guidedActionsController MultiVehiclePanel { - id: multiVehiclePanel - width: parent.width - availableHeight: parent.height - y - guidedActionsController: _root.guidedActionsController + id: multiVehiclePanel + width: parent.width + availableHeight: parent.height - y } AirspaceControl { diff --git a/src/FlightDisplay/FlyViewMap.qml b/src/FlightDisplay/FlyViewMap.qml index c351d1270..f38f8bf0d 100644 --- a/src/FlightDisplay/FlyViewMap.qml +++ b/src/FlightDisplay/FlyViewMap.qml @@ -38,7 +38,6 @@ FlightMap { isDark: _isFullWindowItemDark } - property var guidedActionsController property var rightPanelWidth property var planMasterController property bool pipMode: false // true: map is shown in a small pip mode @@ -433,7 +432,7 @@ FlightMap { return _mapCircle.radius.rawValue } - Component.onCompleted: guidedActionsController.orbitMapCircle = orbitMapCircle + Component.onCompleted: mainWindow.guidedControllerFlyView.orbitMapCircle = orbitMapCircle QGCMapCircle { id: _mapCircle @@ -503,35 +502,35 @@ FlightMap { property var coord QGCMenuItem { text: qsTr("Go to location") - visible: guidedActionsController.showGotoLocation + visible: mainWindow.guidedControllerFlyView.showGotoLocation onTriggered: { gotoLocationItem.show(clickMenu.coord) - guidedActionsController.confirmAction(guidedActionsController.actionGoto, clickMenu.coord, gotoLocationItem) + mainWindow.guidedControllerFlyView.confirmAction(mainWindow.guidedControllerFlyView.actionGoto, clickMenu.coord, gotoLocationItem) } } QGCMenuItem { text: qsTr("Orbit at location") - visible: guidedActionsController.showOrbit + visible: mainWindow.guidedControllerFlyView.showOrbit onTriggered: { orbitMapCircle.show(clickMenu.coord) - guidedActionsController.confirmAction(guidedActionsController.actionOrbit, clickMenu.coord, orbitMapCircle) + mainWindow.guidedControllerFlyView.confirmAction(mainWindow.guidedControllerFlyView.actionOrbit, clickMenu.coord, orbitMapCircle) } } QGCMenuItem { text: qsTr("ROI at location") - visible: guidedActionsController.showROI + visible: mainWindow.guidedControllerFlyView.showROI onTriggered: { roiLocationItem.show(clickMenu.coord) - guidedActionsController.confirmAction(guidedActionsController.actionROI, clickMenu.coord, roiLocationItem) + mainWindow.guidedControllerFlyView.confirmAction(mainWindow.guidedControllerFlyView.actionROI, clickMenu.coord, roiLocationItem) } } } onClicked: { - if (!guidedActionsController.guidedUIVisible && (guidedActionsController.showGotoLocation || guidedActionsController.showOrbit || guidedActionsController.showROI)) { + if (!mainWindow.guidedControllerFlyView.guidedUIVisible && (mainWindow.guidedControllerFlyView.showGotoLocation || mainWindow.guidedControllerFlyView.showOrbit || mainWindow.guidedControllerFlyView.showROI)) { orbitMapCircle.hide() gotoLocationItem.hide() var clickCoord = _root.toCoordinate(Qt.point(mouse.x, mouse.y), false /* clipToViewPort */) diff --git a/src/FlightDisplay/FlyViewMissionCompleteDialog.qml b/src/FlightDisplay/FlyViewMissionCompleteDialog.qml index 3cffe4280..1fad8755d 100644 --- a/src/FlightDisplay/FlyViewMissionCompleteDialog.qml +++ b/src/FlightDisplay/FlyViewMissionCompleteDialog.qml @@ -24,7 +24,6 @@ Item { property var missionController property var geoFenceController property var rallyPointController - property var guidedController // The following code is used to track vehicle states for showing the mission complete dialog property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle @@ -109,15 +108,15 @@ Item { ColumnLayout { Layout.fillWidth: true spacing: ScreenTools.defaultFontPixelHeight - visible: !_activeVehicle.connectionLost && guidedController.showResumeMission + visible: !_activeVehicle.connectionLost && mainWindow.guidedControllerFlyView.showResumeMission QGCButton { Layout.fillWidth: true Layout.alignment: Qt.AlignHCenter - text: qsTr("Resume Mission From Waypoint %1").arg(guidedController._resumeMissionIndex) + text: qsTr("Resume Mission From Waypoint %1").arg(mainWindow.guidedControllerFlyView._resumeMissionIndex) onClicked: { - guidedController.executeAction(guidedController.actionResumeMission, null, null) + mainWindow.guidedControllerFlyView.executeAction(mainWindow.guidedControllerFlyView.actionResumeMission, null, null) hideDialog() } } @@ -134,7 +133,7 @@ Item { wrapMode: Text.WordWrap color: qgcPal.warningText text: qsTr("If you are changing batteries for Resume Mission do not disconnect from the vehicle.") - visible: guidedController.showResumeMission + visible: mainWindow.guidedControllerFlyView.showResumeMission } } } diff --git a/src/FlightDisplay/FlyViewToolStrip.qml b/src/FlightDisplay/FlyViewToolStrip.qml index c2b151f60..8f543bdad 100644 --- a/src/FlightDisplay/FlyViewToolStrip.qml +++ b/src/FlightDisplay/FlyViewToolStrip.qml @@ -17,9 +17,6 @@ ToolStrip { id: _root title: qsTr("Fly") - property var guidedActionsController - property var guidedActionList - signal displayPreFlightChecklist FlyViewToolStripActionList { diff --git a/src/FlightDisplay/FlyViewToolStripActionList.qml b/src/FlightDisplay/FlyViewToolStripActionList.qml index e08227e3f..4f969d23a 100644 --- a/src/FlightDisplay/FlyViewToolStripActionList.qml +++ b/src/FlightDisplay/FlyViewToolStripActionList.qml @@ -13,26 +13,16 @@ import QGroundControl 1.0 import QGroundControl.Controls 1.0 ToolStripActionList { + id: _root + signal displayPreFlightChecklist model: [ - PreFlightCheckListShowAction { - onTriggered: displayPreFlightChecklist() - }, - GuidedActionTakeoff { - guidedController: guidedActionsController - }, - GuidedActionLand { - guidedController: guidedActionsController - }, - GuidedActionRTL { - guidedController: guidedActionsController - }, - GuidedActionPause { - guidedController: guidedActionsController - }, - GuidedActionActionList { - guidedController: guidedActionsController - } + PreFlightCheckListShowAction { onTriggered: displayPreFlightChecklist() }, + GuidedActionTakeoff { }, + GuidedActionLand { }, + GuidedActionRTL { }, + GuidedActionPause { }, + GuidedActionActionList { } ] } diff --git a/src/FlightDisplay/FlyViewWidgetLayer.qml b/src/FlightDisplay/FlyViewWidgetLayer.qml index f022560a4..6ebdd017b 100644 --- a/src/FlightDisplay/FlyViewWidgetLayer.qml +++ b/src/FlightDisplay/FlyViewWidgetLayer.qml @@ -42,6 +42,7 @@ Item { property var _missionController: _planMasterController.missionController property var _geoFenceController: _planMasterController.geoFenceController property var _rallyPointController: _planMasterController.rallyPointController + property var _guidedController: mainWindow.guidedControllerFlyView property real _margins: ScreenTools.defaultFontPixelWidth / 2 property real _toolsMargin: ScreenTools.defaultFontPixelWidth * 0.75 property rect _centerViewport: Qt.rect(0, 0, width, height) @@ -67,7 +68,6 @@ Item { missionController: _missionController geoFenceController: _geoFenceController rallyPointController: _rallyPointController - guidedController: _root.guidedActionsController } FlyViewInstrumentPanel { @@ -79,7 +79,6 @@ Item { width: _rightPanelWidth spacing: _toolsMargin visible: QGroundControl.corePlugin.options.flyView.showInstrumentPanel - guidedActionsController: _guidedController availableHeight: parent.height - y - _toolsMargin property real rightInset: visible ? parent.width - x : 0 @@ -104,16 +103,14 @@ Item { } FlyViewToolStrip { - id: toolStrip - anchors.leftMargin: _toolsMargin + parentToolInsets.leftEdgeCenterInset - anchors.topMargin: _toolsMargin + parentToolInsets.leftEdgeTopInset - anchors.left: parent.left - anchors.top: parent.top - z: QGroundControl.zOrderWidgets - maxHeight: parent.height - y - parentToolInsets.leftEdgeBottomInset - _toolsMargin - guidedActionsController: _guidedController - guidedActionList: _guidedActionList - visible: !QGroundControl.videoManager.fullScreen + id: toolStrip + anchors.leftMargin: _toolsMargin + parentToolInsets.leftEdgeCenterInset + anchors.topMargin: _toolsMargin + parentToolInsets.leftEdgeTopInset + anchors.left: parent.left + anchors.top: parent.top + z: QGroundControl.zOrderWidgets + maxHeight: parent.height - y - parentToolInsets.leftEdgeBottomInset - _toolsMargin + visible: !QGroundControl.videoManager.fullScreen onDisplayPreFlightChecklist: preFlightChecklistPopup.open() diff --git a/src/FlightDisplay/GuidedActionActionList.qml b/src/FlightDisplay/GuidedActionActionList.qml index 383e8a920..c88a9f1b4 100644 --- a/src/FlightDisplay/GuidedActionActionList.qml +++ b/src/FlightDisplay/GuidedActionActionList.qml @@ -10,9 +10,9 @@ import QGroundControl.FlightDisplay 1.0 GuidedToolStripAction { - text: guidedController.actionListTitle + text: _guidedController.actionListTitle iconSource: "/res/action.svg" - visible: guidedController.showActionList + visible: _guidedController.showActionList enabled: true - actionID: guidedController.actionActionList + actionID: _guidedController.actionActionList } diff --git a/src/FlightDisplay/GuidedActionLand.qml b/src/FlightDisplay/GuidedActionLand.qml index 164598bc7..d4a539a4f 100644 --- a/src/FlightDisplay/GuidedActionLand.qml +++ b/src/FlightDisplay/GuidedActionLand.qml @@ -10,10 +10,10 @@ import QGroundControl.FlightDisplay 1.0 GuidedToolStripAction { - text: guidedController.landTitle - message: guidedController.landMessage - iconSource: "/res/land.svg" - visible: guidedController.showLand && !guidedController.showTakeoff - enabled: guidedController.showLand - actionID: guidedController.actionLand + text: _guidedController.landTitle + message: _guidedController.landMessage + iconSource: "/res/land.svg" + visible: _guidedController.showLand && !_guidedController.showTakeoff + enabled: _guidedController.showLand + actionID: _guidedController.actionLand } diff --git a/src/FlightDisplay/GuidedActionPause.qml b/src/FlightDisplay/GuidedActionPause.qml index ce908040a..7fa33654c 100644 --- a/src/FlightDisplay/GuidedActionPause.qml +++ b/src/FlightDisplay/GuidedActionPause.qml @@ -10,9 +10,9 @@ import QGroundControl.FlightDisplay 1.0 GuidedToolStripAction { - text: guidedController.pauseTitle - iconSource: "/res/pause-mission.svg" - visible: guidedController.showPause - enabled: guidedController.showPause - actionID: guidedController.actionPause + text: _guidedController.pauseTitle + iconSource: "/res/pause-mission.svg" + visible: _guidedController.showPause + enabled: _guidedController.showPause + actionID: _guidedController.actionPause } diff --git a/src/FlightDisplay/GuidedActionRTL.qml b/src/FlightDisplay/GuidedActionRTL.qml index 7280edd6e..288b917cf 100644 --- a/src/FlightDisplay/GuidedActionRTL.qml +++ b/src/FlightDisplay/GuidedActionRTL.qml @@ -10,9 +10,9 @@ import QGroundControl.FlightDisplay 1.0 GuidedToolStripAction { - text: guidedController.rtlTitle - iconSource: "/res/rtl.svg" - visible: true - enabled: guidedController.showRTL - actionID: guidedController.actionRTL + text: _guidedController.rtlTitle + iconSource: "/res/rtl.svg" + visible: true + enabled: _guidedController.showRTL + actionID: _guidedController.actionRTL } diff --git a/src/FlightDisplay/GuidedActionTakeoff.qml b/src/FlightDisplay/GuidedActionTakeoff.qml index 04805b21c..32670b64e 100644 --- a/src/FlightDisplay/GuidedActionTakeoff.qml +++ b/src/FlightDisplay/GuidedActionTakeoff.qml @@ -10,9 +10,9 @@ import QGroundControl.FlightDisplay 1.0 GuidedToolStripAction { - text: guidedController.takeoffTitle - iconSource: "/res/takeoff.svg" - visible: guidedController.showTakeoff || !guidedController.showLand - enabled: guidedController.showTakeoff - actionID: guidedController.actionTakeoff + text: _guidedController.takeoffTitle + iconSource: "/res/takeoff.svg" + visible: _guidedController.showTakeoff || !_guidedController.showLand + enabled: _guidedController.showTakeoff + actionID: _guidedController.actionTakeoff } diff --git a/src/FlightDisplay/GuidedToolStripAction.qml b/src/FlightDisplay/GuidedToolStripAction.qml index 7c83bdd24..2de4b300d 100644 --- a/src/FlightDisplay/GuidedToolStripAction.qml +++ b/src/FlightDisplay/GuidedToolStripAction.qml @@ -10,12 +10,13 @@ import QGroundControl.Controls 1.0 ToolStripAction { - property var guidedController property int actionID property string message + property var _guidedController: mainWindow.guidedControllerFlyView + onTriggered: { - guidedActionsController.closeAll() - guidedController.confirmAction(actionID) + _guidedController.closeAll() + _guidedController.confirmAction(actionID) } } diff --git a/src/FlightDisplay/MultiVehicleList.qml b/src/FlightDisplay/MultiVehicleList.qml index ae5ad0de3..e1fa05fba 100644 --- a/src/FlightDisplay/MultiVehicleList.qml +++ b/src/FlightDisplay/MultiVehicleList.qml @@ -19,12 +19,11 @@ import QGroundControl.Vehicle 1.0 import QGroundControl.FlightMap 1.0 Item { - property var guidedActionsController - - property real _margin: ScreenTools.defaultFontPixelWidth / 2 - property real _widgetHeight: ScreenTools.defaultFontPixelHeight * 3 - property color _textColor: "black" - property real _rectOpacity: 0.8 + property real _margin: ScreenTools.defaultFontPixelWidth / 2 + property real _widgetHeight: ScreenTools.defaultFontPixelHeight * 3 + property color _textColor: "black" + property real _rectOpacity: 0.8 + property var _guidedController: mainWindow.guidedControllerFlyView QGCPalette { id: qgcPal } @@ -63,12 +62,12 @@ Item { QGCButton { text: "Pause" - onClicked: guidedActionsController.confirmAction(guidedActionsController.actionMVPause) + onClicked: _guidedController.confirmAction(_guidedController.actionMVPause) } QGCButton { text: "Start Mission" - onClicked: guidedActionsController.confirmAction(guidedActionsController.actionMVStartMission) + onClicked: _guidedController.confirmAction(_guidedController.actionMVStartMission) } } } diff --git a/src/FlightDisplay/MultiVehiclePanel.qml b/src/FlightDisplay/MultiVehiclePanel.qml index 7075ae2df..7e657cab9 100644 --- a/src/FlightDisplay/MultiVehiclePanel.qml +++ b/src/FlightDisplay/MultiVehiclePanel.qml @@ -25,7 +25,6 @@ Item { property alias singleVehiclePanel: singleVehicleView.checked property real availableHeight - property var guidedActionsController QGCMapPalette { id: mapPal; lightColors: true } @@ -47,11 +46,10 @@ Item { } MultiVehicleList { - anchors.topMargin: ScreenTools.defaultFontPixelHeight / 2 - anchors.top: selectorRow.bottom - anchors.bottom: parent.bottom - width: parent.width - visible: !singleVehiclePanel && !QGroundControl.videoManager.fullScreen && QGroundControl.corePlugin.options.showMultiVehicleList - guidedActionsController: _root.guidedActionsController + anchors.topMargin: ScreenTools.defaultFontPixelHeight / 2 + anchors.top: selectorRow.bottom + anchors.bottom: parent.bottom + width: parent.width + visible: !singleVehiclePanel && !QGroundControl.videoManager.fullScreen && QGroundControl.corePlugin.options.showMultiVehicleList } } diff --git a/src/FlightMap/MapItems/PlanMapItems.qml b/src/FlightMap/MapItems/PlanMapItems.qml index 589933568..b652fba2b 100644 --- a/src/FlightMap/MapItems/PlanMapItems.qml +++ b/src/FlightMap/MapItems/PlanMapItems.qml @@ -30,6 +30,7 @@ Item { property var _missionController: masterController.missionController property var _geoFenceController: masterController.geoFenceController property var _rallyPointController: masterController.rallyPointController + property var _guidedController: mainWindow.guidedControllerFlyView property var _missionLineViewComponent property bool _isActiveVehicle: vehicle.active @@ -42,7 +43,7 @@ Item { delegate: MissionItemMapVisual { map: _map vehicle: _vehicle - onClicked: guidedActionsController.confirmAction(guidedActionsController.actionSetWaypoint, Math.max(object.sequenceNumber, 1)) + onClicked: _guidedController.confirmAction(_guidedController.actionSetWaypoint, Math.max(object.sequenceNumber, 1)) } } diff --git a/src/ui/MainRootWindow.qml b/src/ui/MainRootWindow.qml index bf305fe64..bc615496d 100644 --- a/src/ui/MainRootWindow.qml +++ b/src/ui/MainRootWindow.qml @@ -75,15 +75,15 @@ ApplicationWindow { //------------------------------------------------------------------------- //-- Global Scope Variables - /// Current active Vehicle property var activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property string formatedMessage: activeVehicle ? activeVehicle.formatedMessage : "" /// Indicates usable height between toolbar and footer property real availableHeight: mainWindow.height - mainWindow.header.height - mainWindow.footer.height - property var currentPlanMissionItem: planMasterControllerPlanView ? planMasterControllerPlanView.missionController.currentPlanViewItem : null property var planMasterControllerPlanView: null - property var planMasterControllerFlyView: null + property var currentPlanMissionItem: planMasterControllerPlanView ? planMasterControllerPlanView.missionController.currentPlanViewItem : null + property var planMasterControllerFlyView: flightView.planController + property var guidedControllerFlyView: flightView.guidedController readonly property string navButtonWidth: ScreenTools.defaultFontPixelWidth * 24 readonly property real defaultTextHeight: ScreenTools.defaultFontPixelHeight -- 2.22.0