Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
8cdaa3c2
Unverified
Commit
8cdaa3c2
authored
Aug 09, 2020
by
Don Gagne
Committed by
GitHub
Aug 09, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8976 from DonLakeFlyer/TelemetryValueBar
Fly: Telemetry value bar
parents
f62c8640
b0d48d47
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
383 additions
and
278 deletions
+383
-278
custom.pri
custom-example/custom.pri
+0
-8
qgcresources.qrc
custom-example/qgcresources.qrc
+1
-0
qgroundcontrol.qrc
custom-example/qgroundcontrol.qrc
+9
-4
CustomPlugin.cc
custom-example/src/CustomPlugin.cc
+4
-4
CustomFirmwarePluginFactory.cc
...example/src/FirmwarePlugin/CustomFirmwarePluginFactory.cc
+11
-12
CustomFirmwarePluginFactory.h
...-example/src/FirmwarePlugin/CustomFirmwarePluginFactory.h
+3
-3
qgroundcontrol.qrc
qgroundcontrol.qrc
+1
-0
FlyView.qml
src/FlightDisplay/FlyView.qml
+3
-6
FlyViewWidgetLayer.qml
src/FlightDisplay/FlyViewWidgetLayer.qml
+41
-17
GuidedActionConfirm.qml
src/FlightDisplay/GuidedActionConfirm.qml
+65
-71
TelemetryValuesBar.qml
src/FlightDisplay/TelemetryValuesBar.qml
+54
-0
MapAddMission.svg
src/FlightMap/Images/MapAddMission.svg
+1
-1
MapCenter.svg
src/FlightMap/Images/MapCenter.svg
+5
-5
MapDrawShape.svg
src/FlightMap/Images/MapDrawShape.svg
+2
-2
MapSync.svg
src/FlightMap/Images/MapSync.svg
+2
-2
MapSyncChanged.svg
src/FlightMap/Images/MapSyncChanged.svg
+2
-2
CameraPageWidget.qml
src/FlightMap/Widgets/CameraPageWidget.qml
+3
-3
PlanEditToolbar.qml
src/PlanView/PlanEditToolbar.qml
+1
-1
SimpleItemEditor.qml
src/PlanView/SimpleItemEditor.qml
+1
-1
QGCPalette.cc
src/QGCPalette.cc
+6
-3
QGCPalette.h
src/QGCPalette.h
+3
-0
FactValueGrid.cc
src/QmlControls/FactValueGrid.cc
+39
-22
FactValueGrid.h
src/QmlControls/FactValueGrid.h
+16
-11
HorizontalFactValueGrid.cc
src/QmlControls/HorizontalFactValueGrid.cc
+2
-2
HorizontalFactValueGrid.h
src/QmlControls/HorizontalFactValueGrid.h
+3
-3
HorizontalFactValueGrid.qml
src/QmlControls/HorizontalFactValueGrid.qml
+38
-21
qmldir
src/QmlControls/QGroundControl/FlightDisplay/qmldir
+1
-0
ToolStrip.qml
src/QmlControls/ToolStrip.qml
+1
-1
QGCCorePlugin.cc
src/api/QGCCorePlugin.cc
+62
-40
QGCOptions.h
src/api/QGCOptions.h
+0
-2
MainRootWindow.qml
src/ui/MainRootWindow.qml
+1
-1
MainToolBar.qml
src/ui/toolbar/MainToolBar.qml
+2
-30
No files found.
custom-example/custom.pri
View file @
8cdaa3c2
...
@@ -55,14 +55,6 @@ RESOURCES += \
...
@@ -55,14 +55,6 @@ RESOURCES += \
QML_IMPORT_PATH += \
QML_IMPORT_PATH += \
$$PWD/res
$$PWD/res
LinuxBuild {
# Our QT_INSTALL_LIBS
QT_LIB_LIST += \
libQt5VirtualKeyboard.so.5 \
}
# Our own, custom sources
# Our own, custom sources
SOURCES += \
SOURCES += \
$$PWD/src/CustomPlugin.cc \
$$PWD/src/CustomPlugin.cc \
...
...
custom-example/qgcresources.qrc
View file @
8cdaa3c2
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
<file alias="gear-black.svg">../resources/gear-black.svg</file>
<file alias="gear-black.svg">../resources/gear-black.svg</file>
<file alias="gear-white.svg">../resources/gear-white.svg</file>
<file alias="gear-white.svg">../resources/gear-white.svg</file>
<file alias="helicoptericon.svg">../resources/helicoptericon.svg</file>
<file alias="helicoptericon.svg">../resources/helicoptericon.svg</file>
<file alias="BingNoTileBytes.dat">../resources/BingNoTileBytes.dat</file>
<file alias="JoystickBezel.png">../resources/JoystickBezel.png</file>
<file alias="JoystickBezel.png">../resources/JoystickBezel.png</file>
<file alias="JoystickBezelLight.png">../resources/JoystickBezelLight.png</file>
<file alias="JoystickBezelLight.png">../resources/JoystickBezelLight.png</file>
<file alias="land.svg">../resources/land.svg</file>
<file alias="land.svg">../resources/land.svg</file>
...
...
custom-example/qgroundcontrol.qrc
View file @
8cdaa3c2
...
@@ -9,7 +9,6 @@
...
@@ -9,7 +9,6 @@
<file alias="GPSRTKIndicator.qml">../src/ui/toolbar/GPSRTKIndicator.qml</file>
<file alias="GPSRTKIndicator.qml">../src/ui/toolbar/GPSRTKIndicator.qml</file>
<file alias="JoystickIndicator.qml">../src/ui/toolbar/JoystickIndicator.qml</file>
<file alias="JoystickIndicator.qml">../src/ui/toolbar/JoystickIndicator.qml</file>
<file alias="LinkIndicator.qml">../src/ui/toolbar/LinkIndicator.qml</file>
<file alias="LinkIndicator.qml">../src/ui/toolbar/LinkIndicator.qml</file>
<file alias="MainToolBar.qml">../src/ui/toolbar/MainToolBar.qml</file>
<file alias="MainToolBarIndicators.qml">../src/ui/toolbar/MainToolBarIndicators.qml</file>
<file alias="MainToolBarIndicators.qml">../src/ui/toolbar/MainToolBarIndicators.qml</file>
<file alias="MessageIndicator.qml">../src/ui/toolbar/MessageIndicator.qml</file>
<file alias="MessageIndicator.qml">../src/ui/toolbar/MessageIndicator.qml</file>
<file alias="ModeIndicator.qml">../src/ui/toolbar/ModeIndicator.qml</file>
<file alias="ModeIndicator.qml">../src/ui/toolbar/ModeIndicator.qml</file>
...
@@ -50,7 +49,6 @@
...
@@ -50,7 +49,6 @@
<file alias="FWLandingPatternEditor.qml">../src/PlanView/FWLandingPatternEditor.qml</file>
<file alias="FWLandingPatternEditor.qml">../src/PlanView/FWLandingPatternEditor.qml</file>
<file alias="GeneralSettings.qml">../src/ui/preferences/GeneralSettings.qml</file>
<file alias="GeneralSettings.qml">../src/ui/preferences/GeneralSettings.qml</file>
<file alias="GeoTagPage.qml">../src/AnalyzeView/GeoTagPage.qml</file>
<file alias="GeoTagPage.qml">../src/AnalyzeView/GeoTagPage.qml</file>
<file alias="HealthPageWidget.qml">../src/FlightMap/Widgets/HealthPageWidget.qml</file>
<file alias="HelpSettings.qml">../src/ui/preferences/HelpSettings.qml</file>
<file alias="HelpSettings.qml">../src/ui/preferences/HelpSettings.qml</file>
<file alias="JoystickConfig.qml">../src/VehicleSetup/JoystickConfig.qml</file>
<file alias="JoystickConfig.qml">../src/VehicleSetup/JoystickConfig.qml</file>
<file alias="JoystickConfigAdvanced.qml">../src/VehicleSetup/JoystickConfigAdvanced.qml</file>
<file alias="JoystickConfigAdvanced.qml">../src/VehicleSetup/JoystickConfigAdvanced.qml</file>
...
@@ -65,6 +63,7 @@
...
@@ -65,6 +63,7 @@
<file alias="MAVLinkInspectorPage.qml">../src/AnalyzeView/MAVLinkInspectorPage.qml</file>
<file alias="MAVLinkInspectorPage.qml">../src/AnalyzeView/MAVLinkInspectorPage.qml</file>
<file alias="MavlinkSettings.qml">../src/ui/preferences/MavlinkSettings.qml</file>
<file alias="MavlinkSettings.qml">../src/ui/preferences/MavlinkSettings.qml</file>
<file alias="MicrohardSettings.qml">../src/Microhard/MicrohardSettings.qml</file>
<file alias="MicrohardSettings.qml">../src/Microhard/MicrohardSettings.qml</file>
<file alias="MissionCommandTreeEditorTestWindow.qml">../src/MissionManager/MissionCommandTreeEditorTestWindow.qml</file>
<file alias="MissionSettingsEditor.qml">../src/PlanView/MissionSettingsEditor.qml</file>
<file alias="MissionSettingsEditor.qml">../src/PlanView/MissionSettingsEditor.qml</file>
<file alias="MockLink.qml">../src/ui/preferences/MockLink.qml</file>
<file alias="MockLink.qml">../src/ui/preferences/MockLink.qml</file>
<file alias="MockLinkSettings.qml">../src/ui/preferences/MockLinkSettings.qml</file>
<file alias="MockLinkSettings.qml">../src/ui/preferences/MockLinkSettings.qml</file>
...
@@ -77,7 +76,6 @@
...
@@ -77,7 +76,6 @@
<file alias="PX4FlowSensor.qml">../src/VehicleSetup/PX4FlowSensor.qml</file>
<file alias="PX4FlowSensor.qml">../src/VehicleSetup/PX4FlowSensor.qml</file>
<file alias="QGCInstrumentWidget.qml">../src/FlightMap/Widgets/QGCInstrumentWidget.qml</file>
<file alias="QGCInstrumentWidget.qml">../src/FlightMap/Widgets/QGCInstrumentWidget.qml</file>
<file alias="QGCInstrumentWidgetAlternate.qml">../src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml</file>
<file alias="QGCInstrumentWidgetAlternate.qml">../src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml</file>
<file alias="QGCViewDialogContainer.qml">../src/QmlControls/QGCViewDialogContainer.qml</file>
<file alias="QGroundControl/Controls/AnalyzePage.qml">../src/AnalyzeView/AnalyzePage.qml</file>
<file alias="QGroundControl/Controls/AnalyzePage.qml">../src/AnalyzeView/AnalyzePage.qml</file>
<file alias="QGroundControl/Controls/AppMessages.qml">../src/QmlControls/AppMessages.qml</file>
<file alias="QGroundControl/Controls/AppMessages.qml">../src/QmlControls/AppMessages.qml</file>
<file alias="QGroundControl/Controls/AxisMonitor.qml">../src/QmlControls/AxisMonitor.qml</file>
<file alias="QGroundControl/Controls/AxisMonitor.qml">../src/QmlControls/AxisMonitor.qml</file>
...
@@ -107,6 +105,8 @@
...
@@ -107,6 +105,8 @@
<file alias="QGroundControl/Controls/JoystickThumbPad.qml">../src/QmlControls/JoystickThumbPad.qml</file>
<file alias="QGroundControl/Controls/JoystickThumbPad.qml">../src/QmlControls/JoystickThumbPad.qml</file>
<file alias="QGroundControl/Controls/KMLOrSHPFileDialog.qml">../src/QmlControls/KMLOrSHPFileDialog.qml</file>
<file alias="QGroundControl/Controls/KMLOrSHPFileDialog.qml">../src/QmlControls/KMLOrSHPFileDialog.qml</file>
<file alias="QGroundControl/Controls/LogReplayStatusBar.qml">../src/QmlControls/LogReplayStatusBar.qml</file>
<file alias="QGroundControl/Controls/LogReplayStatusBar.qml">../src/QmlControls/LogReplayStatusBar.qml</file>
<file alias="QGroundControl/Controls/MainStatusIndicator.qml">../src/ui/toolbar/MainStatusIndicator.qml</file>
<file alias="QGroundControl/Controls/MainToolBar.qml">../src/ui/toolbar/MainToolBar.qml</file>
<file alias="QGroundControl/Controls/MainWindowSavedState.qml">../src/QmlControls/MainWindowSavedState.qml</file>
<file alias="QGroundControl/Controls/MainWindowSavedState.qml">../src/QmlControls/MainWindowSavedState.qml</file>
<file alias="QGroundControl/Controls/MAVLinkChart.qml">../src/QmlControls/MAVLinkChart.qml</file>
<file alias="QGroundControl/Controls/MAVLinkChart.qml">../src/QmlControls/MAVLinkChart.qml</file>
<file alias="QGroundControl/Controls/MAVLinkMessageButton.qml">../src/QmlControls/MAVLinkMessageButton.qml</file>
<file alias="QGroundControl/Controls/MAVLinkMessageButton.qml">../src/QmlControls/MAVLinkMessageButton.qml</file>
...
@@ -161,6 +161,7 @@
...
@@ -161,6 +161,7 @@
<file alias="QGroundControl/Controls/QGCToolBarButton.qml">../src/QmlControls/QGCToolBarButton.qml</file>
<file alias="QGroundControl/Controls/QGCToolBarButton.qml">../src/QmlControls/QGCToolBarButton.qml</file>
<file alias="QGroundControl/Controls/QGCToolInsets.qml">../src/QmlControls/QGCToolInsets.qml</file>
<file alias="QGroundControl/Controls/QGCToolInsets.qml">../src/QmlControls/QGCToolInsets.qml</file>
<file alias="QGroundControl/Controls/QGCViewDialog.qml">../src/QmlControls/QGCViewDialog.qml</file>
<file alias="QGroundControl/Controls/QGCViewDialog.qml">../src/QmlControls/QGCViewDialog.qml</file>
<file alias="QGroundControl/Controls/QGCViewDialogContainer.qml">../src/QmlControls/QGCViewDialogContainer.qml</file>
<file alias="QGroundControl/Controls/QGCViewMessage.qml">../src/QmlControls/QGCViewMessage.qml</file>
<file alias="QGroundControl/Controls/QGCViewMessage.qml">../src/QmlControls/QGCViewMessage.qml</file>
<file alias="QGroundControl/Controls/qmldir">../src/QmlControls/QGroundControl/Controls/qmldir</file>
<file alias="QGroundControl/Controls/qmldir">../src/QmlControls/QGroundControl/Controls/qmldir</file>
<file alias="QGroundControl/Controls/RallyPointEditorHeader.qml">../src/PlanView/RallyPointEditorHeader.qml</file>
<file alias="QGroundControl/Controls/RallyPointEditorHeader.qml">../src/PlanView/RallyPointEditorHeader.qml</file>
...
@@ -179,9 +180,10 @@
...
@@ -179,9 +180,10 @@
<file alias="QGroundControl/Controls/SurveyMapVisual.qml">../src/PlanView/SurveyMapVisual.qml</file>
<file alias="QGroundControl/Controls/SurveyMapVisual.qml">../src/PlanView/SurveyMapVisual.qml</file>
<file alias="QGroundControl/Controls/TerrainStatus.qml">../src/PlanView/TerrainStatus.qml</file>
<file alias="QGroundControl/Controls/TerrainStatus.qml">../src/PlanView/TerrainStatus.qml</file>
<file alias="QGroundControl/Controls/TakeoffItemMapVisual.qml">../src/PlanView/TakeoffItemMapVisual.qml</file>
<file alias="QGroundControl/Controls/TakeoffItemMapVisual.qml">../src/PlanView/TakeoffItemMapVisual.qml</file>
<file alias="QGroundControl/Controls/ToolBarBase.qml">../src/ui/toolbar/ToolBarBase.qml</file>
<file alias="QGroundControl/Controls/ToolStrip.qml">../src/QmlControls/ToolStrip.qml</file>
<file alias="QGroundControl/Controls/ToolStrip.qml">../src/QmlControls/ToolStrip.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemStats.qml">../src/PlanView/TransectStyleComplexItemStats.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemStats.qml">../src/PlanView/TransectStyleComplexItemStats.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemTabBar.qml">../src/PlanView/TransectStyleComplexItemTabBar.qml</file>
<file alias="QGroundControl/Controls/TransectStyleComplexItemTerrainFollow.qml">../src/PlanView/TransectStyleComplexItemTerrainFollow.qml</file>
<file alias="QGroundControl/Controls/VehicleRotationCal.qml">../src/QmlControls/VehicleRotationCal.qml</file>
<file alias="QGroundControl/Controls/VehicleRotationCal.qml">../src/QmlControls/VehicleRotationCal.qml</file>
<file alias="QGroundControl/Controls/VehicleSummaryRow.qml">../src/QmlControls/VehicleSummaryRow.qml</file>
<file alias="QGroundControl/Controls/VehicleSummaryRow.qml">../src/QmlControls/VehicleSummaryRow.qml</file>
<file alias="QGroundControl/Controls/VerticalFactValueGrid.qml">../src/QmlControls/VerticalFactValueGrid.qml</file>
<file alias="QGroundControl/Controls/VerticalFactValueGrid.qml">../src/QmlControls/VerticalFactValueGrid.qml</file>
...
@@ -335,5 +337,8 @@
...
@@ -335,5 +337,8 @@
<qresource prefix="/MockLink">
<qresource prefix="/MockLink">
<file alias="APMArduSubMockLink.params">../src/comm/APMArduSubMockLink.params</file>
<file alias="APMArduSubMockLink.params">../src/comm/APMArduSubMockLink.params</file>
<file alias="PX4MockLink.params">../src/comm/PX4MockLink.params</file>
<file alias="PX4MockLink.params">../src/comm/PX4MockLink.params</file>
<file alias="Version.MetaData.json">../src/comm/MockLink.Version.MetaData.json</file>
<file alias="Version.MetaData.json.gz">../src/comm/MockLink.Version.MetaData.json.gz</file>
<file alias="Parameter.MetaData.json">../src/comm/MockLink.Parameter.MetaData.json</file>
</qresource>
</qresource>
</RCC>
</RCC>
custom-example/src/CustomPlugin.cc
View file @
8cdaa3c2
...
@@ -159,11 +159,11 @@ bool CustomPlugin::adjustSettingMetaData(const QString& settingsGroup, FactMetaD
...
@@ -159,11 +159,11 @@ bool CustomPlugin::adjustSettingMetaData(const QString& settingsGroup, FactMetaD
if
(
settingsGroup
==
AppSettings
::
settingsGroup
)
{
if
(
settingsGroup
==
AppSettings
::
settingsGroup
)
{
// This tells QGC than when you are creating Plans while not connected to a vehicle
// This tells QGC than when you are creating Plans while not connected to a vehicle
// the specific firmware/vehicle the plan is for.
// the specific firmware/vehicle the plan is for.
if
(
metaData
.
name
()
==
AppSettings
::
offlineEditingFirmware
Type
Name
)
{
if
(
metaData
.
name
()
==
AppSettings
::
offlineEditingFirmware
Class
Name
)
{
metaData
.
setRawDefaultValue
(
MAV_AUTOPILOT_
PX4
);
metaData
.
setRawDefaultValue
(
QGCMAVLink
::
FirmwareClass
PX4
);
return
false
;
return
false
;
}
else
if
(
metaData
.
name
()
==
AppSettings
::
offlineEditingVehicle
Type
Name
)
{
}
else
if
(
metaData
.
name
()
==
AppSettings
::
offlineEditingVehicle
Class
Name
)
{
metaData
.
setRawDefaultValue
(
MAV_TYPE_QUADROTOR
);
metaData
.
setRawDefaultValue
(
QGCMAVLink
::
VehicleClassMultiRotor
);
return
false
;
return
false
;
}
}
}
}
...
...
custom-example/src/FirmwarePlugin/CustomFirmwarePluginFactory.cc
View file @
8cdaa3c2
...
@@ -22,11 +22,18 @@ CustomFirmwarePluginFactory::CustomFirmwarePluginFactory()
...
@@ -22,11 +22,18 @@ CustomFirmwarePluginFactory::CustomFirmwarePluginFactory()
}
}
QList
<
MAV_AUTOPILOT
>
CustomFirmwarePluginFactory
::
supportedFirmwareTyp
es
()
const
QList
<
QGCMAVLink
::
FirmwareClass_t
>
CustomFirmwarePluginFactory
::
supportedFirmwareClass
es
()
const
{
{
QList
<
MAV_AUTOPILOT
>
list
;
QList
<
QGCMAVLink
::
FirmwareClass_t
>
firmwareClasses
;
list
.
append
(
MAV_AUTOPILOT_PX4
);
firmwareClasses
.
append
(
QGCMAVLink
::
FirmwareClassPX4
);
return
list
;
return
firmwareClasses
;
}
QList
<
QGCMAVLink
::
VehicleClass_t
>
CustomFirmwarePluginFactory
::
supportedVehicleClasses
(
void
)
const
{
QList
<
QGCMAVLink
::
VehicleClass_t
>
vehicleClasses
;
vehicleClasses
.
append
(
QGCMAVLink
::
VehicleClassMultiRotor
);
return
vehicleClasses
;
}
}
FirmwarePlugin
*
CustomFirmwarePluginFactory
::
firmwarePluginForAutopilot
(
MAV_AUTOPILOT
autopilotType
,
MAV_TYPE
/*vehicleType*/
)
FirmwarePlugin
*
CustomFirmwarePluginFactory
::
firmwarePluginForAutopilot
(
MAV_AUTOPILOT
autopilotType
,
MAV_TYPE
/*vehicleType*/
)
...
@@ -39,11 +46,3 @@ FirmwarePlugin* CustomFirmwarePluginFactory::firmwarePluginForAutopilot(MAV_AUTO
...
@@ -39,11 +46,3 @@ FirmwarePlugin* CustomFirmwarePluginFactory::firmwarePluginForAutopilot(MAV_AUTO
}
}
return
nullptr
;
return
nullptr
;
}
}
QList
<
MAV_TYPE
>
CustomFirmwarePluginFactory
::
supportedVehicleTypes
(
void
)
const
{
QList
<
MAV_TYPE
>
mavTypes
;
mavTypes
.
append
(
MAV_TYPE_QUADROTOR
);
return
mavTypes
;
}
custom-example/src/FirmwarePlugin/CustomFirmwarePluginFactory.h
View file @
8cdaa3c2
...
@@ -26,9 +26,9 @@ class CustomFirmwarePluginFactory : public FirmwarePluginFactory
...
@@ -26,9 +26,9 @@ class CustomFirmwarePluginFactory : public FirmwarePluginFactory
Q_OBJECT
Q_OBJECT
public:
public:
CustomFirmwarePluginFactory
();
CustomFirmwarePluginFactory
();
QList
<
MAV_AUTOPILOT
>
supportedFirmwareTypes
(
)
const
final
;
QList
<
QGCMAVLink
::
FirmwareClass_t
>
supportedFirmwareClasses
(
void
)
const
final
;
FirmwarePlugin
*
firmwarePluginForAutopilot
(
MAV_AUTOPILOT
autopilotType
,
MAV_TYPE
vehicleType
)
final
;
QList
<
QGCMAVLink
::
VehicleClass_t
>
supportedVehicleClasses
(
void
)
const
final
;
QList
<
MAV_TYPE
>
supportedVehicleTypes
(
void
)
const
final
;
FirmwarePlugin
*
firmwarePluginForAutopilot
(
MAV_AUTOPILOT
autopilotType
,
MAV_TYPE
vehicleType
)
final
;
private:
private:
CustomFirmwarePlugin
*
_pluginInstance
;
CustomFirmwarePlugin
*
_pluginInstance
;
...
...
qgroundcontrol.qrc
View file @
8cdaa3c2
...
@@ -232,6 +232,7 @@
...
@@ -232,6 +232,7 @@
<file alias="QGroundControl/FlightDisplay/PreFlightSoundCheck.qml">src/FlightDisplay/PreFlightSoundCheck.qml</file>
<file alias="QGroundControl/FlightDisplay/PreFlightSoundCheck.qml">src/FlightDisplay/PreFlightSoundCheck.qml</file>
<file alias="QGroundControl/FlightDisplay/PreFlightCheckListShowAction.qml">src/FlightDisplay/PreFlightCheckListShowAction.qml</file>
<file alias="QGroundControl/FlightDisplay/PreFlightCheckListShowAction.qml">src/FlightDisplay/PreFlightCheckListShowAction.qml</file>
<file alias="QGroundControl/FlightDisplay/TerrainProgress.qml">src/FlightDisplay/TerrainProgress.qml</file>
<file alias="QGroundControl/FlightDisplay/TerrainProgress.qml">src/FlightDisplay/TerrainProgress.qml</file>
<file alias="QGroundControl/FlightDisplay/TelemetryValuesBar.qml">src/FlightDisplay/TelemetryValuesBar.qml</file>
<file alias="QGroundControl/FlightDisplay/VehicleWarnings.qml">src/FlightDisplay/VehicleWarnings.qml</file>
<file alias="QGroundControl/FlightDisplay/VehicleWarnings.qml">src/FlightDisplay/VehicleWarnings.qml</file>
<file alias="QGroundControl/FlightDisplay/qmldir">src/QmlControls/QGroundControl/FlightDisplay/qmldir</file>
<file alias="QGroundControl/FlightDisplay/qmldir">src/QmlControls/QGroundControl/FlightDisplay/qmldir</file>
<file alias="QGroundControl/FlightMap/CameraTriggerIndicator.qml">src/FlightMap/MapItems/CameraTriggerIndicator.qml</file>
<file alias="QGroundControl/FlightMap/CameraTriggerIndicator.qml">src/FlightMap/MapItems/CameraTriggerIndicator.qml</file>
...
...
src/FlightDisplay/FlyView.qml
View file @
8cdaa3c2
...
@@ -52,7 +52,6 @@ Item {
...
@@ -52,7 +52,6 @@ Item {
property
var
_guidedController
:
guidedActionsController
property
var
_guidedController
:
guidedActionsController
property
var
_guidedActionList
:
guidedActionList
property
var
_guidedActionList
:
guidedActionList
property
var
_guidedAltSlider
:
guidedAltSlider
property
var
_guidedAltSlider
:
guidedAltSlider
property
var
_guidedConfirm
:
guidedActionConfirm
property
real
_toolsMargin
:
ScreenTools
.
defaultFontPixelWidth
*
0.75
property
real
_toolsMargin
:
ScreenTools
.
defaultFontPixelWidth
*
0.75
property
rect
_centerViewport
:
Qt
.
rect
(
0
,
0
,
width
,
height
)
property
rect
_centerViewport
:
Qt
.
rect
(
0
,
0
,
width
,
height
)
property
real
_rightPanelWidth
:
ScreenTools
.
defaultFontPixelWidth
*
30
property
real
_rightPanelWidth
:
ScreenTools
.
defaultFontPixelWidth
*
30
...
@@ -77,7 +76,6 @@ Item {
...
@@ -77,7 +76,6 @@ Item {
FlyViewWidgetLayer
{
FlyViewWidgetLayer
{
id
:
widgetLayer
id
:
widgetLayer
anchors.rightMargin
:
_toolsMargin
anchors.top
:
parent
.
top
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.bottom
:
parent
.
bottom
anchors.left
:
parent
.
left
anchors.left
:
parent
.
left
...
@@ -100,12 +98,11 @@ Item {
...
@@ -100,12 +98,11 @@ Item {
GuidedActionsController
{
GuidedActionsController
{
id
:
guidedActionsController
id
:
guidedActionsController
missionController
:
_missionController
missionController
:
_missionController
confirmDialog
:
_guidedConfirm
actionList
:
_guidedActionList
actionList
:
_guidedActionList
altitudeSlider
:
_guidedAltSlider
altitudeSlider
:
_guidedAltSlider
}
}
GuidedActionConfirm
{
/*
GuidedActionConfirm {
id: guidedActionConfirm
id: guidedActionConfirm
anchors.margins: _margins
anchors.margins: _margins
anchors.bottom: parent.bottom
anchors.bottom: parent.bottom
...
@@ -113,7 +110,7 @@ Item {
...
@@ -113,7 +110,7 @@ Item {
z: QGroundControl.zOrderTopMost
z: QGroundControl.zOrderTopMost
guidedController: _guidedController
guidedController: _guidedController
altitudeSlider: _guidedAltSlider
altitudeSlider: _guidedAltSlider
}
}
*/
GuidedActionList
{
GuidedActionList
{
id
:
guidedActionList
id
:
guidedActionList
...
@@ -144,7 +141,7 @@ Item {
...
@@ -144,7 +141,7 @@ Item {
rightPanelWidth
:
ScreenTools
.
defaultFontPixelHeight
*
9
rightPanelWidth
:
ScreenTools
.
defaultFontPixelHeight
*
9
pipMode
:
!
_mainWindowIsMap
pipMode
:
!
_mainWindowIsMap
toolInsets
:
customOverlay
.
totalToolInsets
toolInsets
:
customOverlay
.
totalToolInsets
mapName
:
"
FlightDisplayView
"
mapName
:
"
FlightDisplayView
"
}
}
FlyViewVideo
{
FlyViewVideo
{
...
...
src/FlightDisplay/FlyViewWidgetLayer.qml
View file @
8cdaa3c2
...
@@ -18,6 +18,7 @@ import QtQuick.Window 2.2
...
@@ -18,6 +18,7 @@ import QtQuick.Window 2.2
import
QtQml
.
Models
2.1
import
QtQml
.
Models
2.1
import
QGroundControl
1.0
import
QGroundControl
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Airspace
1.0
import
QGroundControl
.
Airspace
1.0
import
QGroundControl
.
Airmap
1.0
import
QGroundControl
.
Airmap
1.0
import
QGroundControl
.
Controllers
1.0
import
QGroundControl
.
Controllers
1.0
...
@@ -50,18 +51,18 @@ Item {
...
@@ -50,18 +51,18 @@ Item {
QGCToolInsets
{
QGCToolInsets
{
id
:
_totalToolInsets
id
:
_totalToolInsets
leftEdgeCenterInset
:
toolStrip
.
leftInset
leftEdgeTopInset
:
toolStrip
.
leftInset
leftEdgeTopInset
:
toolStrip
.
leftInset
leftEdgeCenterInset
:
toolStrip
.
leftInset
leftEdgeBottomInset
:
parentToolInsets
.
leftEdgeBottomInset
leftEdgeBottomInset
:
parentToolInsets
.
leftEdgeBottomInset
rightEdgeCenterInset
:
instrumentPanel
.
rightInset
rightEdgeTopInset
:
parentToolInsets
.
rightEdgeTopInset
rightEdgeTopInset
:
instrumentPanel
.
rightInset
rightEdgeCenterInset
:
parentToolInsets
.
rightEdgeCenterInset
rightEdgeBottomInset
:
instrumentPanel
.
rightInset
rightEdgeBottomInset
:
parentToolInsets
.
rightEdgeBottomInset
topEdgeCenterInset
:
parentToolInsets
.
topEdgeCenterInset
topEdgeLeftInset
:
parentToolInsets
.
topEdgeLeftInset
topEdgeLeftInset
:
parentToolInsets
.
topEdgeLeftInset
topEdgeCenterInset
:
parentToolInsets
.
topEdgeCenterInset
topEdgeRightInset
:
parentToolInsets
.
topEdgeRightInset
topEdgeRightInset
:
parentToolInsets
.
topEdgeRightInset
bottomEdgeCenterInset
:
mapScale
.
centerInset
bottomEdgeLeftInset
:
parentToolInsets
.
bottomEdgeLeftInset
bottomEdgeLeftInset
:
parentToolInsets
.
bottomEdgeLeftInset
bottomEdgeRightInset
:
parentToolInsets
.
bottomEdgeRightInset
bottomEdgeCenterInset
:
mapScale
.
centerInset
bottomEdgeRightInset
:
telemetryPanel
.
bottomInset
}
}
FlyViewMissionCompleteDialog
{
FlyViewMissionCompleteDialog
{
...
@@ -84,6 +85,30 @@ Item {
...
@@ -84,6 +85,30 @@ Item {
property
real
rightInset
:
visible
?
parent
.
width
-
x
:
0
property
real
rightInset
:
visible
?
parent
.
width
-
x
:
0
}
}
TelemetryValuesBar
{
id
:
telemetryPanel
x
:
recalcXPosition
()
anchors.margins
:
_toolsMargin
anchors.bottom
:
parent
.
bottom
function
recalcXPosition
()
{
// First try centered
var
halfRootWidth
=
_root
.
width
/
2
var
halfPanelWidth
=
telemetryPanel
.
width
/
2
var
leftX
=
(
halfRootWidth
-
halfPanelWidth
)
-
_toolsMargin
var
rightX
=
(
halfRootWidth
+
halfPanelWidth
)
+
_toolsMargin
if
(
leftX
>=
parentToolInsets
.
leftEdgeBottomInset
||
rightX
<=
parentToolInsets
.
rightEdgeBottomInset
)
{
// It will fit in the horizontalCenter
return
halfRootWidth
-
halfPanelWidth
}
else
{
// Anchor to left edge
return
parentToolInsets
.
leftEdgeBottomInset
+
_toolsMargin
}
}
property
real
bottomInset
:
height
}
//-- Virtual Joystick
//-- Virtual Joystick
Loader
{
Loader
{
id
:
virtualJoystickMultiTouch
id
:
virtualJoystickMultiTouch
...
@@ -105,11 +130,11 @@ Item {
...
@@ -105,11 +130,11 @@ Item {
FlyViewToolStrip
{
FlyViewToolStrip
{
id
:
toolStrip
id
:
toolStrip
anchors.leftMargin
:
_toolsMargin
+
parentToolInsets
.
leftEdgeCenterInset
anchors.leftMargin
:
_toolsMargin
+
parentToolInsets
.
leftEdgeCenterInset
anchors.topMargin
:
_toolsMargin
+
parentToolInsets
.
leftEdgeTop
Inset
anchors.topMargin
:
_toolsMargin
+
parentToolInsets
.
topEdgeLeft
Inset
anchors.left
:
parent
.
left
anchors.left
:
parent
.
left
anchors.top
:
parent
.
top
anchors.top
:
parent
.
top
z
:
QGroundControl
.
zOrderWidgets
z
:
QGroundControl
.
zOrderWidgets
maxHeight
:
parent
.
height
-
y
-
parentToolInsets
.
leftEdgeBottom
Inset
-
_toolsMargin
maxHeight
:
parent
.
height
-
y
-
parentToolInsets
.
bottomEdgeLeft
Inset
-
_toolsMargin
visible
:
!
QGroundControl
.
videoManager
.
fullScreen
visible
:
!
QGroundControl
.
videoManager
.
fullScreen
onDisplayPreFlightChecklist
:
preFlightChecklistPopup
.
open
()
onDisplayPreFlightChecklist
:
preFlightChecklistPopup
.
open
()
...
@@ -131,14 +156,13 @@ Item {
...
@@ -131,14 +156,13 @@ Item {
}
}
MapScale
{
MapScale
{
id
:
mapScale
id
:
mapScale
anchors.leftMargin
:
parentToolInsets
.
leftEdgeBottomInset
+
_toolsMargin
anchors.margins
:
_toolsMargin
anchors.bottomMargin
:
parentToolInsets
.
bottomEdgeCenterInset
+
_toolsMargin
anchors.left
:
toolStrip
.
right
anchors.left
:
parent
.
left
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
mapControl
:
_mapControl
mapControl
:
_mapControl
buttonsOnLeft
:
false
buttonsOnLeft
:
true
visible
:
!
ScreenTools
.
isTinyScreen
&&
QGroundControl
.
corePlugin
.
options
.
flyView
.
showMapScale
&&
mapControl
.
pipState
.
state
!==
mapControl
.
pipState
.
pipState
visible
:
!
ScreenTools
.
isTinyScreen
&&
QGroundControl
.
corePlugin
.
options
.
flyView
.
showMapScale
&&
mapControl
.
pipState
.
state
!==
mapControl
.
pipState
.
pipState
property
real
centerInset
:
visible
?
parent
.
height
-
y
:
0
property
real
centerInset
:
visible
?
parent
.
height
-
y
:
0
}
}
...
...
src/FlightDisplay/GuidedActionConfirm.qml
View file @
8cdaa3c2
...
@@ -7,28 +7,26 @@
...
@@ -7,28 +7,26 @@
*
*
****************************************************************************/
****************************************************************************/
import
QtQuick
2.3
import
QtQuick
2.12
import
QtQuick
.
Controls
1.2
import
QtQuick
.
Controls
2.4
import
QtQuick
.
Layouts
1.12
import
QGroundControl
1.0
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Palette
1.0
import
QGroundControl
.
Palette
1.0
/// Guided actions confirmation dialog
Rectangle
{
Rectangle
{
id
:
_root
id
:
_root
width
:
confirmColumn
.
width
+
(
_margins
*
4
)
Layout.minimumWidth
:
mainLayout
.
width
+
(
_margins
*
2
)
height
:
confirmColumn
.
height
+
(
_margins
*
4
)
Layout.preferredHeight
:
mainLayout
.
height
+
(
_margins
*
2
)
radius
:
ScreenTools
.
defaultFontPixelHeight
/
2
radius
:
ScreenTools
.
defaultFontPixelWidth
/
2
color
:
qgcPal
.
window
color
:
qgcPal
.
windowShadeLight
border.color
:
_emergencyAction
?
"
red
"
:
qgcPal
.
windowShade
visible
:
false
border.width
:
_emergencyAction
?
4
:
1
visible
:
false
property
var
guidedController
property
var
guidedController
property
var
altitudeSlider
property
var
altitudeSlider
property
alias
title
:
titleText
.
text
property
string
title
// Currently unused
property
alias
message
:
messageText
.
text
property
alias
message
:
messageText
.
text
property
int
action
property
int
action
property
var
actionData
property
var
actionData
...
@@ -37,9 +35,11 @@ Rectangle {
...
@@ -37,9 +35,11 @@ Rectangle {
property
alias
optionText
:
optionCheckBox
.
text
property
alias
optionText
:
optionCheckBox
.
text
property
alias
optionChecked
:
optionCheckBox
.
checked
property
alias
optionChecked
:
optionCheckBox
.
checked
property
real
_margins
:
ScreenTools
.
defaultFontPixelWidth
property
real
_margins
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
bool
_emergencyAction
:
action
===
guidedController
.
actionEmergencyStop
property
bool
_emergencyAction
:
action
===
guidedController
.
actionEmergencyStop
Component.onCompleted
:
guidedController
.
confirmDialog
=
this
onHideTriggerChanged
:
{
onHideTriggerChanged
:
{
if
(
hideTrigger
)
{
if
(
hideTrigger
)
{
confirmCancelled
()
confirmCancelled
()
...
@@ -50,7 +50,7 @@ Rectangle {
...
@@ -50,7 +50,7 @@ Rectangle {
if
(
immediate
)
{
if
(
immediate
)
{
visible
=
true
visible
=
true
}
else
{
}
else
{
// We delay showing the confirmation for a small amount in order
to
any other state
// We delay showing the confirmation for a small amount in order
for
any other state
// changes to propogate through the system. This way only the final state shows up.
// changes to propogate through the system. This way only the final state shows up.
visibleTimer
.
restart
()
visibleTimer
.
restart
()
}
}
...
@@ -76,76 +76,70 @@ Rectangle {
...
@@ -76,76 +76,70 @@ Rectangle {
QGCPalette
{
id
:
qgcPal
}
QGCPalette
{
id
:
qgcPal
}
DeadMouseArea
{
ColumnLayout
{
anchors.fill
:
parent
id
:
mainLayout
}
anchors.horizontalCenter
:
parent
.
horizontalCenter
spacing
:
_margins
Column
{
id
:
confirmColumn
anchors.margins
:
_margins
anchors.centerIn
:
parent
spacing
:
_margins
QGCLabel
{
id
:
titleText
anchors.left
:
slider
.
left
anchors.right
:
slider
.
right
horizontalAlignment
:
Text
.
AlignHCenter
font.pointSize
:
ScreenTools
.
largeFontPointSize
}
QGCLabel
{
QGCLabel
{
id
:
messageText
id
:
messageText
anchors.left
:
slider
.
left
Layout.fillWidth
:
true
anchors.right
:
slider
.
right
horizontalAlignment
:
Text
.
AlignHCenter
horizontalAlignment
:
Text
.
AlignHCenter
wrapMode
:
Text
.
WordWrap
wrapMode
:
Text
.
WordWrap
}
}
QGCCheckBox
{
QGCCheckBox
{
id
:
optionCheckBox
id
:
optionCheckBox
anchors.horizontalCenter
:
parent
.
horizontal
Center
Layout.alignment
:
Qt
.
AlignH
Center
text
:
""
text
:
""
visible
:
text
!==
""
visible
:
text
!==
""
}
}
// Action confirmation control
RowLayout
{
SliderSwitch
{
Layout.alignment
:
Qt
.
AlignHCenter
id
:
slider
spacing
:
ScreenTools
.
defaultFontPixelWidth
confirmText
:
qsTr
(
"
Slide to confirm
"
)
width
:
Math
.
max
(
implicitWidth
,
ScreenTools
.
defaultFontPixelWidth
*
30
)
SliderSwitch
{
id
:
slider
onAccept
:
{
confirmText
:
qsTr
(
"
Slide to confirm
"
)
_root
.
visible
=
false
Layout.minimumWidth
:
Math
.
max
(
implicitWidth
,
ScreenTools
.
defaultFontPixelWidth
*
30
)
var
altitudeChange
=
0
if
(
altitudeSlider
.
visible
)
{
onAccept
:
{
altitudeChange
=
altitudeSlider
.
getAltitudeChangeValue
()
_root
.
visible
=
false
altitudeSlider
.
visible
=
false
var
altitudeChange
=
0
}
if
(
altitudeSlider
.
visible
)
{
hideTrigger
=
false
altitudeChange
=
altitudeSlider
.
getAltitudeChangeValue
()
guidedController
.
executeAction
(
_root
.
action
,
_root
.
actionData
,
altitudeChange
,
_root
.
optionChecked
)
altitudeSlider
.
visible
=
false
if
(
mapIndicator
)
{
}
mapIndicator
.
actionConfirmed
()
hideTrigger
=
false
mapIndicator
=
undefined
guidedController
.
executeAction
(
_root
.
action
,
_root
.
actionData
,
altitudeChange
,
_root
.
optionChecked
)
if
(
mapIndicator
)
{
mapIndicator
.
actionConfirmed
()
mapIndicator
=
undefined
}
}
}
}
}
}
}
QGCColoredImage
{
Rectangle
{
anchors.margins
:
_margins
height
:
slider
.
height
*
0.75
anchors.top
:
parent
.
top
width
:
height
anchors.right
:
parent
.
right
radius
:
height
/
2
width
:
ScreenTools
.
defaultFontPixelHeight
color
:
qgcPal
.
primaryButton
height
:
width
sourceSize.height
:
width
QGCColoredImage
{
source
:
"
/res/XDelete.svg
"
anchors.margins
:
parent
.
height
/
4
fillMode
:
Image
.
PreserveAspectFit
anchors.fill
:
parent
color
:
qgcPal
.
text
source
:
"
/res/XDelete.svg
"
fillMode
:
Image
.
PreserveAspectFit
QGCMouseArea
{
color
:
qgcPal
.
text
fillItem
:
parent
}
onClicked
:
confirmCancelled
()
QGCMouseArea
{
fillItem
:
parent
onClicked
:
confirmCancelled
()
}
}
}
}
}
}
}
}
src/FlightDisplay/TelemetryValuesBar.qml
0 → 100644
View file @
8cdaa3c2
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* 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
.
Layouts
1.12
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Vehicle
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Palette
1.0
Rectangle
{
id
:
telemetryPanel
height
:
telemetryLayout
.
height
+
(
_toolsMargin
*
2
)
width
:
telemetryLayout
.
width
+
(
_toolsMargin
*
2
)
color
:
Qt
.
hsla
(
_baseBGColor
.
hslHue
,
_baseBGColor
.
hslSaturation
,
_baseBGColor
.
hslLightness
,
0.5
)
radius
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
color
_baseBGColor
:
qgcPal
.
window
DeadMouseArea
{
anchors.fill
:
parent
}
ColumnLayout
{
id
:
telemetryLayout
anchors.margins
:
_toolsMargin
anchors.top
:
parent
.
top
anchors.left
:
parent
.
left
HorizontalFactValueGrid
{
id
:
valueArea
userSettingsGroup
:
telemetryBarUserSettingsGroup
defaultSettingsGroup
:
telemetryBarDefaultSettingsGroup
QGCMouseArea
{
anchors.fill
:
parent
visible
:
!
parent
.
settingsUnlocked
onClicked
:
parent
.
settingsUnlocked
=
true
}
}
GuidedActionConfirm
{
Layout.fillWidth
:
true
guidedController
:
_guidedController
altitudeSlider
:
_guidedAltSlider
}
}
}
src/FlightMap/Images/MapAddMission.svg
View file @
8cdaa3c2
...
@@ -6,5 +6,5 @@
...
@@ -6,5 +6,5 @@
<path
fill=
"#FFFFFF"
d=
"M-55.213,94.612V84.146h-10.386v-4.373h10.385V69.384h4.425v10.389h10.387v4.373h-10.386v10.466
<path
fill=
"#FFFFFF"
d=
"M-55.213,94.612V84.146h-10.386v-4.373h10.385V69.384h4.425v10.389h10.387v4.373h-10.386v10.466
C-50.788,94.612-55.213,94.612-55.213,94.612z"
/>
C-50.788,94.612-55.213,94.612-55.213,94.612z"
/>
</g>