Commit 260b4bc1 authored by DonLakeFlyer's avatar DonLakeFlyer

Commands which apply to all vehicles

Plus other ui tweaks
parent 0690559b
...@@ -18,118 +18,163 @@ import QGroundControl.Palette 1.0 ...@@ -18,118 +18,163 @@ import QGroundControl.Palette 1.0
import QGroundControl.Vehicle 1.0 import QGroundControl.Vehicle 1.0
import QGroundControl.FlightMap 1.0 import QGroundControl.FlightMap 1.0
QGCListView { Item {
id: missionItemEditorListView property var guidedActionsController
spacing: ScreenTools.defaultFontPixelHeight / 2
orientation: ListView.Vertical
model: QGroundControl.multiVehicleManager.vehicles
cacheBuffer: _cacheBuffer < 0 ? 0 : _cacheBuffer
clip: true
property real _margin: ScreenTools.defaultFontPixelWidth / 2
property real _cacheBuffer: height * 2
property real _widgetHeight: ScreenTools.defaultFontPixelHeight * 3
delegate: Rectangle {
width: parent.width
height: innerColumn.y + innerColumn.height + _margin
color: qgcPal.missionItemEditor
opacity: 0.8
radius: _margin
property var _vehicle: object
property color _textColor: "black"
QGCPalette { id: qgcPal }
Row {
id: widgetLayout
anchors.margins: _margin
anchors.top: parent.top
anchors.right: parent.right
spacing: ScreenTools.defaultFontPixelWidth / 2
layoutDirection: Qt.RightToLeft
QGCCompassWidget {
size: _widgetHeight
vehicle: _vehicle
}
QGCAttitudeWidget {
size: _widgetHeight
vehicle: _vehicle
}
}
RowLayout { property real _margin: ScreenTools.defaultFontPixelWidth / 2
anchors.top: widgetLayout.top property real _widgetHeight: ScreenTools.defaultFontPixelHeight * 3
anchors.bottom: widgetLayout.bottom property color _textColor: "black"
anchors.left: parent.left property real _rectOpacity: 0.8
anchors.right: widgetLayout.left
spacing: ScreenTools.defaultFontPixelWidth / 2
QGCLabel { QGCPalette { id: qgcPal }
Layout.alignment: Qt.AlignTop
text: _vehicle.id
color: _textColor
}
FlightModeMenu { NoMouseThroughRectangle {
font.pointSize: ScreenTools.largeFontPointSize id: mvCommands
color: _textColor anchors.left: parent.left
activeVehicle: _vehicle anchors.right: parent.right
} height: mvCommandsColumn.height + (_margin *2)
} color: qgcPal.missionItemEditor
opacity: _rectOpacity
radius: _margin
Column { Column {
id: innerColumn id: mvCommandsColumn
anchors.margins: _margin anchors.margins: _margin
anchors.top: parent.top
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
anchors.top: widgetLayout.bottom
spacing: _margin spacing: _margin
Rectangle { QGCLabel {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
height: 5 text: qsTr("The following commands will be applied to all vehicles")
color: "green" color: _textColor
wrapMode: Text.WordWrap
font.pointSize: ScreenTools.smallFontPointSize
} }
Row { Row {
spacing: ScreenTools.defaultFontPixelWidth spacing: _margin
QGCButton { QGCButton {
text: "Arm" text: "Pause"
visible: !_vehicle.armed onClicked: guidedActionsController.confirmAction(guidedActionsController.actionMVPause)
onClicked: _vehicle.armed = true
} }
QGCButton { QGCButton {
text: "Start" text: "Start Mision"
visible: _vehicle.armed && _vehicle.flightMode != _vehicle.missionFlightMode onClicked: guidedActionsController.confirmAction(guidedActionsController.actionMVStartMission)
onClicked: _vehicle.flightMode = _vehicle.missionFlightMode
} }
QGCButton {
text: "Stop"
visible: _vehicle.armed && _vehicle.pauseVehicleSupported
onClicked: _vehicle.pauseVehicle()
}
QGCButton {
text: "RTL"
visible: _vehicle.armed && _vehicle.flightMode != _vehicle.rtlFlightMode
onClicked: _vehicle.flightMode = _vehicle.rtlFlightMode
}
QGCButton {
text: "Take control"
visible: _vehicle.armed && _vehicle.flightMode != _vehicle.takeControlFlightMode
onClicked: _vehicle.flightMode = _vehicle.takeControlFlightMode
}
} }
} }
} }
} // QGCListView
QGCListView {
id: missionItemEditorListView
anchors.left: parent.left
anchors.right: parent.right
anchors.topMargin: _margin
anchors.top: mvCommands.bottom
anchors.bottom: parent.bottom
spacing: ScreenTools.defaultFontPixelHeight / 2
orientation: ListView.Vertical
model: QGroundControl.multiVehicleManager.vehicles
cacheBuffer: _cacheBuffer < 0 ? 0 : _cacheBuffer
clip: true
property real _cacheBuffer: height * 2
delegate: Rectangle {
width: parent.width
height: innerColumn.y + innerColumn.height + _margin
color: qgcPal.missionItemEditor
opacity: _rectOpacity
radius: _margin
property var _vehicle: object
ColumnLayout {
id: innerColumn
anchors.margins: _margin
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.left
spacing: _margin
RowLayout {
anchors.left: parent.left
anchors.right: parent.left
QGCLabel {
Layout.alignment: Qt.AlignTop
text: _vehicle.id
color: _textColor
}
ColumnLayout {
Layout.alignment: Qt.AlignCenter
spacing: _margin
FlightModeMenu {
anchors.horizontalCenter: parent.horizontalCenter
font.pointSize: ScreenTools.largeFontPointSize
color: _textColor
activeVehicle: _vehicle
}
QGCLabel {
anchors.horizontalCenter: parent.horizontalCenter
text: _vehicle.armed ? qsTr("Armed") : qsTr("Disarmed")
color: _textColor
}
}
QGCCompassWidget {
size: _widgetHeight
vehicle: _vehicle
}
QGCAttitudeWidget {
size: _widgetHeight
vehicle: _vehicle
}
} // RowLayout
Row {
spacing: ScreenTools.defaultFontPixelWidth
QGCButton {
text: "Arm"
visible: !_vehicle.armed
onClicked: _vehicle.armed = true
}
QGCButton {
text: "Start Mission"
visible: _vehicle.armed && _vehicle.flightMode != _vehicle.missionFlightMode
onClicked: _vehicle.startMission()
}
QGCButton {
text: "Pause"
visible: _vehicle.armed && _vehicle.pauseVehicleSupported
onClicked: _vehicle.pauseVehicle()
}
QGCButton {
text: "RTL"
visible: _vehicle.armed && _vehicle.flightMode != _vehicle.rtlFlightMode
onClicked: _vehicle.flightMode = _vehicle.rtlFlightMode
}
QGCButton {
text: "Take control"
visible: _vehicle.armed && _vehicle.flightMode != _vehicle.takeControlFlightMode
onClicked: _vehicle.flightMode = _vehicle.takeControlFlightMode
}
} // Row
} // ColumnLayout
} // delegate - Rectangle
} // QGCListView
} // Item
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment