diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index 1264e3e68149ce6b15eaf82e5f25c4b2aa027c60..595fe8ada565e7bdc764f76012b7fa8ae39087ea 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -103,6 +103,7 @@
src/FlightMap/Widgets/QGCAttitudeWidget.qml
src/FlightMap/Widgets/QGCCompassWidget.qml
src/FlightMap/Widgets/QGCInstrumentWidget.qml
+ src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml
src/FlightMap/Widgets/QGCPitchIndicator.qml
src/FlightMap/Widgets/QGCSlider.qml
src/FlightMap/QGCVideoBackground.qml
diff --git a/src/FlightDisplay/FlightDisplayViewWidgets.qml b/src/FlightDisplay/FlightDisplayViewWidgets.qml
index 3c63b84b86b053e67209f0eef664ffa797ace02a..b348dc3973eeff2e4404dd92fc1b5448e1ef9424 100644
--- a/src/FlightDisplay/FlightDisplayViewWidgets.qml
+++ b/src/FlightDisplay/FlightDisplayViewWidgets.qml
@@ -38,7 +38,8 @@ import QGroundControl.FlightMap 1.0
Item {
id: _root
- property var _activeVehicle: multiVehicleManager.activeVehicle
+ property var _activeVehicle: multiVehicleManager.activeVehicle
+ property bool _isSatellite: _mainIsMap ? _flightMap ? _flightMap.isSatelliteMap : true : true
QGCMapPalette { id: mapPal; lightColors: !isBackgroundDark }
@@ -103,59 +104,42 @@ Item {
altitudeFact: _altitudeAMSLFact
groundSpeedFact: _groundSpeedFact
airSpeedFact: _airSpeedFact
- isSatellite: _mainIsMap ? _flightMap ? _flightMap.isSatelliteMap : true : true
+ isSatellite: _isSatellite
z: QGroundControl.zOrderWidgets
qgcView: parent.parent.qgcView
maxHeight: parent.height - (ScreenTools.defaultFontPixelHeight * 2)
}
- //-- Alternate Instrument Panel
- Rectangle {
+ QGCInstrumentWidgetAlternate {
+ id: instrumentGadgetAlternate
+ anchors.margins: ScreenTools.defaultFontPixelHeight
+ anchors.top: parent.top
+ anchors.right: parent.right
+ visible: QGroundControl.virtualTabletJoystick
+ width: getGadgetWidth()
+ active: _activeVehicle != null
+ heading: _heading
+ rollAngle: _roll
+ pitchAngle: _pitch
+ altitudeFact: _altitudeAMSLFact
+ groundSpeedFact: _groundSpeedFact
+ airSpeedFact: _airSpeedFact
+ isSatellite: _isSatellite
+ z: QGroundControl.zOrderWidgets
+ }
+
+ ValuesWidget {
+ anchors.topMargin: ScreenTools.defaultFontPixelHeight
+ anchors.top: instrumentGadgetAlternate.bottom
+ anchors.left: instrumentGadgetAlternate.left
+ width: getGadgetWidth()
+ qgcView: parent.parent.qgcView
+ textColor: _isSatellite ? "white" : "black"
visible: QGroundControl.virtualTabletJoystick
- anchors.margins: ScreenTools.defaultFontPixelHeight
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- width: pipSize
- height: pipSize * (9/16)
- color: Qt.rgba(0,0,0,0.75)
- Column {
- id: instruments
- width: parent.width
- spacing: ScreenTools.defaultFontPixelSize * 0.33
- anchors.verticalCenter: parent.verticalCenter
- QGCLabel {
- text: _altitudeAMSLFact.shortDescription + "(" + _altitudeAMSLFact.units + ")"
- font.pixelSize: ScreenTools.defaultFontPixelSize * 0.75
- width: parent.width
- height: ScreenTools.defaultFontPixelSize * 0.75
- color: "white"
- horizontalAlignment: TextEdit.AlignHCenter
- }
- QGCLabel {
- text: _altitudeAMSLFact.valueString
- font.pixelSize: ScreenTools.defaultFontPixelSize * 1.5
- font.weight: Font.DemiBold
- width: parent.width
- color: "white"
- horizontalAlignment: TextEdit.AlignHCenter
- }
- QGCLabel {
- text: _groundSpeedFact.shortDescription + "(" + _groundSpeedFact.units + ")"
- font.pixelSize: ScreenTools.defaultFontPixelSize * 0.75
- width: parent.width
- height: ScreenTools.defaultFontPixelSize * 0.75
- color: "white"
- horizontalAlignment: TextEdit.AlignHCenter
- }
- QGCLabel {
- text: _groundSpeedFact.valueString
- font.pixelSize: ScreenTools.defaultFontPixelSize
- font.weight: Font.DemiBold
- width: parent.width
- color: "white"
- horizontalAlignment: TextEdit.AlignHCenter
- }
- }
+ maxHeight: multiTouchItem.y - y
+
+ Component.onCompleted: console.log(y)
+ onHeightChanged: console.log(y, height, multiTouchItem.y)
}
//-- Vertical Tool Buttons
diff --git a/src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml b/src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml
new file mode 100644
index 0000000000000000000000000000000000000000..21b1b5ac7d26841adf1e090456963864a9685a9e
--- /dev/null
+++ b/src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml
@@ -0,0 +1,79 @@
+/*=====================================================================
+
+QGroundControl Open Source Ground Control Station
+
+(c) 2009, 2015 QGROUNDCONTROL PROJECT
+
+This file is part of the QGROUNDCONTROL project
+
+ QGROUNDCONTROL is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ QGROUNDCONTROL is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with QGROUNDCONTROL. If not, see .
+
+======================================================================*/
+
+import QtQuick 2.4
+
+import QGroundControl.Controls 1.0
+import QGroundControl.ScreenTools 1.0
+import QGroundControl.FactSystem 1.0
+import QGroundControl.FlightMap 1.0
+
+/// Instrument panel shown when virtual thumbsticks are visible
+Rectangle {
+ id: root
+ height: _outerRadius * 2
+ radius: _outerRadius
+ color: isSatellite ? Qt.rgba(1,1,1,0.75) : Qt.rgba(0,0,0,0.75)
+
+ property alias heading: compass.heading
+ property alias rollAngle: attitude.rollAngle
+ property alias pitchAngle: attitude.pitchAngle
+ property real size: _defaultSize
+ property bool isSatellite: false
+ property bool active: false
+
+ property Fact _emptyFact: Fact { }
+ property Fact groundSpeedFact: _emptyFact
+ property Fact airSpeedFact: _emptyFact
+ property Fact altitudeFact: _emptyFact
+
+ property real _innerRadius: (width - (_topBottomMargin * 3)) / 4
+ property real _outerRadius: _innerRadius + _topBottomMargin
+
+ property real _defaultSize: ScreenTools.defaultFontPixelSize * (9)
+
+ property real _sizeRatio: ScreenTools.isTinyScreen ? (size / _defaultSize) * 0.5 : size / _defaultSize
+ property real _bigFontSize: ScreenTools.defaultFontPixelSize * 2.5 * _sizeRatio
+ property real _normalFontSize:ScreenTools.defaultFontPixelSize * 1.5 * _sizeRatio
+ property real _labelFontSize: ScreenTools.defaultFontPixelSize * 0.75 * _sizeRatio
+ property real _spacing: ScreenTools.defaultFontPixelSize * 0.33
+ property real _topBottomMargin: (size * 0.05) / 2
+
+ QGCAttitudeWidget {
+ id: attitude
+ anchors.leftMargin: _topBottomMargin
+ anchors.left: parent.left
+ size: _innerRadius * 2
+ active: active
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ QGCCompassWidget {
+ id: compass
+ anchors.leftMargin: _spacing
+ anchors.left: attitude.right
+ size: _innerRadius * 2
+ active: active
+ anchors.verticalCenter: parent.verticalCenter
+ }
+}
diff --git a/src/FlightMap/qmldir b/src/FlightMap/qmldir
index cd915c52abe6693561bac9b2b4c2a03a3ec5ec98..f7dfa06b8ddeedca560b6bab06163c75c1caa775 100644
--- a/src/FlightMap/qmldir
+++ b/src/FlightMap/qmldir
@@ -5,14 +5,15 @@ FlightMap 1.0 FlightMap.qml
QGCVideoBackground 1.0 QGCVideoBackground.qml
# Widgets
-QGCArtificialHorizon 1.0 QGCArtificialHorizon.qml
-QGCAttitudeHUD 1.0 QGCAttitudeHUD.qml
-QGCAttitudeWidget 1.0 QGCAttitudeWidget.qml
-QGCCompassWidget 1.0 QGCCompassWidget.qml
-QGCInstrumentWidget 1.0 QGCInstrumentWidget.qml
-QGCPitchIndicator 1.0 QGCPitchIndicator.qml
-QGCSlider 1.0 QGCSlider.qml
-ValuesWidget 1.0 ValuesWidget.qml
+QGCArtificialHorizon 1.0 QGCArtificialHorizon.qml
+QGCAttitudeHUD 1.0 QGCAttitudeHUD.qml
+QGCAttitudeWidget 1.0 QGCAttitudeWidget.qml
+QGCCompassWidget 1.0 QGCCompassWidget.qml
+QGCInstrumentWidget 1.0 QGCInstrumentWidget.qml
+QGCInstrumentWidgetAlternate 1.0 QGCInstrumentWidgetAlternate.qml
+QGCPitchIndicator 1.0 QGCPitchIndicator.qml
+QGCSlider 1.0 QGCSlider.qml
+ValuesWidget 1.0 ValuesWidget.qml
# Map items
MissionItemIndicator 1.0 MissionItemIndicator.qml