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 += \
QML_IMPORT_PATH += \
$$PWD/res
LinuxBuild {
# Our QT_INSTALL_LIBS
QT_LIB_LIST += \
libQt5VirtualKeyboard.so.5 \
}
# Our own, custom sources
SOURCES += \
$$PWD/src/CustomPlugin.cc \
...
...
custom-example/qgcresources.qrc
View file @
8cdaa3c2
...
...
@@ -22,6 +22,7 @@
<file alias="gear-black.svg">../resources/gear-black.svg</file>
<file alias="gear-white.svg">../resources/gear-white.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="JoystickBezelLight.png">../resources/JoystickBezelLight.png</file>
<file alias="land.svg">../resources/land.svg</file>
...
...
custom-example/qgroundcontrol.qrc
View file @
8cdaa3c2
...
...
@@ -9,7 +9,6 @@
<file alias="GPSRTKIndicator.qml">../src/ui/toolbar/GPSRTKIndicator.qml</file>
<file alias="JoystickIndicator.qml">../src/ui/toolbar/JoystickIndicator.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="MessageIndicator.qml">../src/ui/toolbar/MessageIndicator.qml</file>
<file alias="ModeIndicator.qml">../src/ui/toolbar/ModeIndicator.qml</file>
...
...
@@ -50,7 +49,6 @@
<file alias="FWLandingPatternEditor.qml">../src/PlanView/FWLandingPatternEditor.qml</file>
<file alias="GeneralSettings.qml">../src/ui/preferences/GeneralSettings.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="JoystickConfig.qml">../src/VehicleSetup/JoystickConfig.qml</file>
<file alias="JoystickConfigAdvanced.qml">../src/VehicleSetup/JoystickConfigAdvanced.qml</file>
...
...
@@ -65,6 +63,7 @@
<file alias="MAVLinkInspectorPage.qml">../src/AnalyzeView/MAVLinkInspectorPage.qml</file>
<file alias="MavlinkSettings.qml">../src/ui/preferences/MavlinkSettings.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="MockLink.qml">../src/ui/preferences/MockLink.qml</file>
<file alias="MockLinkSettings.qml">../src/ui/preferences/MockLinkSettings.qml</file>
...
...
@@ -77,7 +76,6 @@
<file alias="PX4FlowSensor.qml">../src/VehicleSetup/PX4FlowSensor.qml</file>
<file alias="QGCInstrumentWidget.qml">../src/FlightMap/Widgets/QGCInstrumentWidget.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/AppMessages.qml">../src/QmlControls/AppMessages.qml</file>
<file alias="QGroundControl/Controls/AxisMonitor.qml">../src/QmlControls/AxisMonitor.qml</file>
...
...
@@ -107,6 +105,8 @@
<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/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/MAVLinkChart.qml">../src/QmlControls/MAVLinkChart.qml</file>
<file alias="QGroundControl/Controls/MAVLinkMessageButton.qml">../src/QmlControls/MAVLinkMessageButton.qml</file>
...
...
@@ -161,6 +161,7 @@
<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/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/qmldir">../src/QmlControls/QGroundControl/Controls/qmldir</file>
<file alias="QGroundControl/Controls/RallyPointEditorHeader.qml">../src/PlanView/RallyPointEditorHeader.qml</file>
...
...
@@ -179,9 +180,10 @@
<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/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/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/VehicleSummaryRow.qml">../src/QmlControls/VehicleSummaryRow.qml</file>
<file alias="QGroundControl/Controls/VerticalFactValueGrid.qml">../src/QmlControls/VerticalFactValueGrid.qml</file>
...
...
@@ -335,5 +337,8 @@
<qresource prefix="/MockLink">
<file alias="APMArduSubMockLink.params">../src/comm/APMArduSubMockLink.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>
</RCC>
custom-example/src/CustomPlugin.cc
View file @
8cdaa3c2
...
...
@@ -159,11 +159,11 @@ bool CustomPlugin::adjustSettingMetaData(const QString& settingsGroup, FactMetaD
if
(
settingsGroup
==
AppSettings
::
settingsGroup
)
{
// This tells QGC than when you are creating Plans while not connected to a vehicle
// the specific firmware/vehicle the plan is for.
if
(
metaData
.
name
()
==
AppSettings
::
offlineEditingFirmware
Type
Name
)
{
metaData
.
setRawDefaultValue
(
MAV_AUTOPILOT_
PX4
);
if
(
metaData
.
name
()
==
AppSettings
::
offlineEditingFirmware
Class
Name
)
{
metaData
.
setRawDefaultValue
(
QGCMAVLink
::
FirmwareClass
PX4
);
return
false
;
}
else
if
(
metaData
.
name
()
==
AppSettings
::
offlineEditingVehicle
Type
Name
)
{
metaData
.
setRawDefaultValue
(
MAV_TYPE_QUADROTOR
);
}
else
if
(
metaData
.
name
()
==
AppSettings
::
offlineEditingVehicle
Class
Name
)
{
metaData
.
setRawDefaultValue
(
QGCMAVLink
::
VehicleClassMultiRotor
);
return
false
;
}
}
...
...
custom-example/src/FirmwarePlugin/CustomFirmwarePluginFactory.cc
View file @
8cdaa3c2
...
...
@@ -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
;
list
.
append
(
MAV_AUTOPILOT_PX4
);
return
list
;
QList
<
QGCMAVLink
::
FirmwareClass_t
>
firmwareClasses
;
firmwareClasses
.
append
(
QGCMAVLink
::
FirmwareClassPX4
);
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*/
)
...
...
@@ -39,11 +46,3 @@ FirmwarePlugin* CustomFirmwarePluginFactory::firmwarePluginForAutopilot(MAV_AUTO
}
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
Q_OBJECT
public:
CustomFirmwarePluginFactory
();
QList
<
MAV_AUTOPILOT
>
supportedFirmwareTypes
(
)
const
final
;
FirmwarePlugin
*
firmwarePluginForAutopilot
(
MAV_AUTOPILOT
autopilotType
,
MAV_TYPE
vehicleType
)
final
;
QList
<
MAV_TYPE
>
supportedVehicleTypes
(
void
)
const
final
;
QList
<
QGCMAVLink
::
FirmwareClass_t
>
supportedFirmwareClasses
(
void
)
const
final
;
QList
<
QGCMAVLink
::
VehicleClass_t
>
supportedVehicleClasses
(
void
)
const
final
;
FirmwarePlugin
*
firmwarePluginForAutopilot
(
MAV_AUTOPILOT
autopilotType
,
MAV_TYPE
vehicleType
)
final
;
private:
CustomFirmwarePlugin
*
_pluginInstance
;
...
...
qgroundcontrol.qrc
View file @
8cdaa3c2
...
...
@@ -232,6 +232,7 @@
<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/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/qmldir">src/QmlControls/QGroundControl/FlightDisplay/qmldir</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 {
property
var
_guidedController
:
guidedActionsController
property
var
_guidedActionList
:
guidedActionList
property
var
_guidedAltSlider
:
guidedAltSlider
property
var
_guidedConfirm
:
guidedActionConfirm
property
real
_toolsMargin
:
ScreenTools
.
defaultFontPixelWidth
*
0.75
property
rect
_centerViewport
:
Qt
.
rect
(
0
,
0
,
width
,
height
)
property
real
_rightPanelWidth
:
ScreenTools
.
defaultFontPixelWidth
*
30
...
...
@@ -77,7 +76,6 @@ Item {
FlyViewWidgetLayer
{
id
:
widgetLayer
anchors.rightMargin
:
_toolsMargin
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.left
:
parent
.
left
...
...
@@ -100,12 +98,11 @@ Item {
GuidedActionsController
{
id
:
guidedActionsController
missionController
:
_missionController
confirmDialog
:
_guidedConfirm
actionList
:
_guidedActionList
altitudeSlider
:
_guidedAltSlider
}
GuidedActionConfirm
{
/*
GuidedActionConfirm {
id: guidedActionConfirm
anchors.margins: _margins
anchors.bottom: parent.bottom
...
...
@@ -113,7 +110,7 @@ Item {
z: QGroundControl.zOrderTopMost
guidedController: _guidedController
altitudeSlider: _guidedAltSlider
}
}
*/
GuidedActionList
{
id
:
guidedActionList
...
...
@@ -144,7 +141,7 @@ Item {
rightPanelWidth
:
ScreenTools
.
defaultFontPixelHeight
*
9
pipMode
:
!
_mainWindowIsMap
toolInsets
:
customOverlay
.
totalToolInsets
mapName
:
"
FlightDisplayView
"
mapName
:
"
FlightDisplayView
"
}
FlyViewVideo
{
...
...
src/FlightDisplay/FlyViewWidgetLayer.qml
View file @
8cdaa3c2
...
...
@@ -18,6 +18,7 @@ import QtQuick.Window 2.2
import
QtQml
.
Models
2.1
import
QGroundControl
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Airspace
1.0
import
QGroundControl
.
Airmap
1.0
import
QGroundControl
.
Controllers
1.0
...
...
@@ -50,18 +51,18 @@ Item {
QGCToolInsets
{
id
:
_totalToolInsets
leftEdgeCenterInset
:
toolStrip
.
leftInset
leftEdgeTopInset
:
toolStrip
.
leftInset
leftEdgeCenterInset
:
toolStrip
.
leftInset
leftEdgeBottomInset
:
parentToolInsets
.
leftEdgeBottomInset
rightEdgeCenterInset
:
instrumentPanel
.
rightInset
rightEdgeTopInset
:
instrumentPanel
.
rightInset
rightEdgeBottomInset
:
instrumentPanel
.
rightInset
topEdgeCenterInset
:
parentToolInsets
.
topEdgeCenterInset
rightEdgeTopInset
:
parentToolInsets
.
rightEdgeTopInset
rightEdgeCenterInset
:
parentToolInsets
.
rightEdgeCenterInset
rightEdgeBottomInset
:
parentToolInsets
.
rightEdgeBottomInset
topEdgeLeftInset
:
parentToolInsets
.
topEdgeLeftInset
topEdgeCenterInset
:
parentToolInsets
.
topEdgeCenterInset
topEdgeRightInset
:
parentToolInsets
.
topEdgeRightInset
bottomEdgeCenterInset
:
mapScale
.
centerInset
bottomEdgeLeftInset
:
parentToolInsets
.
bottomEdgeLeftInset
bottomEdgeRightInset
:
parentToolInsets
.
bottomEdgeRightInset
bottomEdgeCenterInset
:
mapScale
.
centerInset
bottomEdgeRightInset
:
telemetryPanel
.
bottomInset
}
FlyViewMissionCompleteDialog
{
...
...
@@ -84,6 +85,30 @@ Item {
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
Loader
{
id
:
virtualJoystickMultiTouch
...
...
@@ -105,11 +130,11 @@ Item {
FlyViewToolStrip
{
id
:
toolStrip
anchors.leftMargin
:
_toolsMargin
+
parentToolInsets
.
leftEdgeCenterInset
anchors.topMargin
:
_toolsMargin
+
parentToolInsets
.
leftEdgeTop
Inset
anchors.topMargin
:
_toolsMargin
+
parentToolInsets
.
topEdgeLeft
Inset
anchors.left
:
parent
.
left
anchors.top
:
parent
.
top
z
:
QGroundControl
.
zOrderWidgets
maxHeight
:
parent
.
height
-
y
-
parentToolInsets
.
leftEdgeBottom
Inset
-
_toolsMargin
maxHeight
:
parent
.
height
-
y
-
parentToolInsets
.
bottomEdgeLeft
Inset
-
_toolsMargin
visible
:
!
QGroundControl
.
videoManager
.
fullScreen
onDisplayPreFlightChecklist
:
preFlightChecklistPopup
.
open
()
...
...
@@ -131,14 +156,13 @@ Item {
}
MapScale
{
id
:
mapScale
anchors.leftMargin
:
parentToolInsets
.
leftEdgeBottomInset
+
_toolsMargin
anchors.bottomMargin
:
parentToolInsets
.
bottomEdgeCenterInset
+
_toolsMargin
anchors.left
:
parent
.
left
anchors.bottom
:
parent
.
bottom
mapControl
:
_mapControl
buttonsOnLeft
:
true
visible
:
!
ScreenTools
.
isTinyScreen
&&
QGroundControl
.
corePlugin
.
options
.
flyView
.
showMapScale
&&
mapControl
.
pipState
.
state
!==
mapControl
.
pipState
.
pipState
id
:
mapScale
anchors.margins
:
_toolsMargin
anchors.left
:
toolStrip
.
right
anchors.top
:
parent
.
top
mapControl
:
_mapControl
buttonsOnLeft
:
false
visible
:
!
ScreenTools
.
isTinyScreen
&&
QGroundControl
.
corePlugin
.
options
.
flyView
.
showMapScale
&&
mapControl
.
pipState
.
state
!==
mapControl
.
pipState
.
pipState
property
real
centerInset
:
visible
?
parent
.
height
-
y
:
0
}
...
...
src/FlightDisplay/GuidedActionConfirm.qml
View file @
8cdaa3c2
...
...
@@ -7,28 +7,26 @@
*
****************************************************************************/
import
QtQuick
2.3
import
QtQuick
.
Controls
1.2
import
QtQuick
2.12
import
QtQuick
.
Controls
2.4
import
QtQuick
.
Layouts
1.12
import
QGroundControl
1.0
import
QGroundControl
.
ScreenTools
1.0
import
QGroundControl
.
Controls
1.0
import
QGroundControl
.
Palette
1.0
/// Guided actions confirmation dialog
Rectangle
{
id
:
_root
width
:
confirmColumn
.
width
+
(
_margins
*
4
)
height
:
confirmColumn
.
height
+
(
_margins
*
4
)
radius
:
ScreenTools
.
defaultFontPixelHeight
/
2
color
:
qgcPal
.
window
border.color
:
_emergencyAction
?
"
red
"
:
qgcPal
.
windowShade
border.width
:
_emergencyAction
?
4
:
1
visible
:
false
id
:
_root
Layout.minimumWidth
:
mainLayout
.
width
+
(
_margins
*
2
)
Layout.preferredHeight
:
mainLayout
.
height
+
(
_margins
*
2
)
radius
:
ScreenTools
.
defaultFontPixelWidth
/
2
color
:
qgcPal
.
windowShadeLight
visible
:
false
property
var
guidedController
property
var
altitudeSlider
property
alias
title
:
titleText
.
text
property
string
title
// Currently unused
property
alias
message
:
messageText
.
text
property
int
action
property
var
actionData
...
...
@@ -37,9 +35,11 @@ Rectangle {
property
alias
optionText
:
optionCheckBox
.
text
property
alias
optionChecked
:
optionCheckBox
.
checked
property
real
_margins
:
ScreenTools
.
defaultFontPixelWidth
property
real
_margins
:
ScreenTools
.
defaultFontPixelWidth
/
2
property
bool
_emergencyAction
:
action
===
guidedController
.
actionEmergencyStop
Component.onCompleted
:
guidedController
.
confirmDialog
=
this
onHideTriggerChanged
:
{
if
(
hideTrigger
)
{
confirmCancelled
()
...
...
@@ -50,7 +50,7 @@ Rectangle {
if
(
immediate
)
{
visible
=
true
}
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.
visibleTimer
.
restart
()
}
...
...
@@ -76,76 +76,70 @@ Rectangle {
QGCPalette
{
id
:
qgcPal
}
DeadMouseArea
{
anchors.fill
:
parent
}
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
}
ColumnLayout
{
id
:
mainLayout
anchors.horizontalCenter
:
parent
.
horizontalCenter
spacing
:
_margins
QGCLabel
{
id
:
messageText
anchors.left
:
slider
.
left
anchors.right
:
slider
.
right
Layout.fillWidth
:
true
horizontalAlignment
:
Text
.
AlignHCenter
wrapMode
:
Text
.
WordWrap
}
QGCCheckBox
{
id
:
optionCheckBox
anchors.horizontalCenter
:
parent
.
horizontal
Center
text
:
""
visible
:
text
!==
""
id
:
optionCheckBox
Layout.alignment
:
Qt
.
AlignH
Center
text
:
""
visible
:
text
!==
""
}
// Action confirmation control
SliderSwitch
{
id
:
slider
confirmText
:
qsTr
(
"
Slide to confirm
"
)
width
:
Math
.
max
(
implicitWidth
,
ScreenTools
.
defaultFontPixelWidth
*
30
)
onAccept
:
{
_root
.
visible
=
false
var
altitudeChange
=
0
if
(
altitudeSlider
.
visible
)
{
altitudeChange
=
altitudeSlider
.
getAltitudeChangeValue
()
altitudeSlider
.
visible
=
false
}
hideTrigger
=
false
guidedController
.
executeAction
(
_root
.
action
,
_root
.
actionData
,
altitudeChange
,
_root
.
optionChecked
)
if
(
mapIndicator
)
{
mapIndicator
.
actionConfirmed
()
mapIndicator
=
undefined
RowLayout
{
Layout.alignment
:
Qt
.
AlignHCenter
spacing
:
ScreenTools
.
defaultFontPixelWidth
SliderSwitch
{
id
:
slider
confirmText
:
qsTr
(
"
Slide to confirm
"
)
Layout.minimumWidth
:
Math
.
max
(
implicitWidth
,
ScreenTools
.
defaultFontPixelWidth
*
30
)
onAccept
:
{
_root
.
visible
=
false
var
altitudeChange
=
0
if
(
altitudeSlider
.
visible
)
{
altitudeChange
=
altitudeSlider
.
getAltitudeChangeValue
()
altitudeSlider
.
visible
=
false
}
hideTrigger
=
false
guidedController
.
executeAction
(
_root
.
action
,
_root
.
actionData
,
altitudeChange
,
_root
.
optionChecked
)
if
(
mapIndicator
)
{
mapIndicator
.
actionConfirmed
()
mapIndicator
=
undefined
}
}
}
}
}
QGCColoredImage
{
anchors.margins
:
_margins
anchors.top
:
parent
.
top
anchors.right
:
parent
.
right
width
:
ScreenTools
.
defaultFontPixelHeight
height
:
width
sourceSize.height
:
width
source
:
"
/res/XDelete.svg
"
fillMode
:
Image
.
PreserveAspectFit
color
:
qgcPal
.
text
QGCMouseArea
{
fillItem
:
parent
onClicked
:
confirmCancelled
()
Rectangle
{
height
:
slider
.
height
*
0.75
width
:
height
radius
:
height
/
2
color
:
qgcPal
.
primaryButton
QGCColoredImage
{
anchors.margins
:
parent
.
height
/
4
anchors.fill
:
parent
source
:
"
/res/XDelete.svg
"
fillMode
:
Image
.
PreserveAspectFit
color
:
qgcPal
.
text
}
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 @@
<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"
/>
</g>
<circle
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
cx=
"-53"
cy=
"82"
r=
"22.38"
/>
<circle
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
cx=
"-53"
cy=
"82"
r=
"22.38"
/>
</svg>
src/FlightMap/Images/MapCenter.svg
View file @
8cdaa3c2
...
...
@@ -3,10 +3,10 @@
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-89 46 72 72"
enable-background=
"new -89 46 72 72"
xml:space=
"preserve"
>
<g>
<circle
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
cx=
"-53"
cy=
"82"
r=
"22.38"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
x1=
"-75.464"
y1=
"81.975"
x2=
"-64.423"
y2=
"82.025"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
x1=
"-53.025"
y1=
"104.464"
x2=
"-52.975"
y2=
"93.423"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
x1=
"-30.536"
y1=
"82.025"
x2=
"-41.577"
y2=
"81.975"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
x1=
"-52.975"
y1=
"59.536"
x2=
"-53.025"
y2=
"70.577"
/>
<circle
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
cx=
"-53"
cy=
"82"
r=
"22.38"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
x1=
"-75.464"
y1=
"81.975"
x2=
"-64.423"
y2=
"82.025"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
x1=
"-53.025"
y1=
"104.464"
x2=
"-52.975"
y2=
"93.423"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
x1=
"-30.536"
y1=
"82.025"
x2=
"-41.577"
y2=
"81.975"
/>
<line
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
x1=
"-52.975"
y1=
"59.536"
x2=
"-53.025"
y2=
"70.577"
/>
</g>
</svg>
src/FlightMap/Images/MapDrawShape.svg
View file @
8cdaa3c2
...
...
@@ -3,7 +3,7 @@
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-89 46 72 72"
enable-background=
"new -89 46 72 72"
xml:space=
"preserve"
>
<g
transform=
"matrix(0.96508576,0,0,0.94661676,-1.3508671,3.6129809)"
>
<path
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
1.2
"
stroke-miterlimit=
"4"
d=
"m -69.288973,77.48289 22.722433,-9.307985 2.098859,4.288973 -23.726235,9.39924 1.186311,4.471483 23.908746,-9.855514 L -41,80.768061 -66.186312,91.079848 -65,95.551331 l 25.460076,-10.403042 -2.372624,7.391635 -13.140684,5.110266"
/>
<path
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"4"
d=
"m -69.288973,77.48289 22.722433,-9.307985 2.098859,4.288973 -23.726235,9.39924 1.186311,4.471483 23.908746,-9.855514 L -41,80.768061 -66.186312,91.079848 -65,95.551331 l 25.460076,-10.403042 -2.372624,7.391635 -13.140684,5.110266"
/>
</g>
<path
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
d=
"m -44.193916,62.152091 10.76806,20.623574 -9.21673,19.346005 -24.638783,-3.011404 -6.205323,-25.186312 z"
/>
<path
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
d=
"m -44.193916,62.152091 10.76806,20.623574 -9.21673,19.346005 -24.638783,-3.011404 -6.205323,-25.186312 z"
/>
</svg>
src/FlightMap/Images/MapSync.svg
View file @
8cdaa3c2
...
...
@@ -2,12 +2,12 @@
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-89 46 72 72"
enable-background=
"new -89 46 72 72"
xml:space=
"preserve"
>
<path
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
d=
"M-56.963,64.442
<path
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
d=
"M-56.963,64.442
c-4.199,0.947-8.074,3.392-10.749,7.186c-5.728,8.125-3.785,19.355,4.339,25.083c0.007,0.005,0.014,0.009,0.022,0.014"
/>
<g>
<polygon
fill=
"#FFFFFF"
points=
"-59.303,88.472 -69.431,103.621 -56.794,101.11 "
/>
</g>
<path
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
d=
"M-49.038,99.558
<path
fill=
"none"
stroke=
"#FFFFFF"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
d=
"M-49.038,99.558
c4.199-0.947,8.074-3.392,10.749-7.186c5.728-8.125,3.785-19.355-4.339-25.083c-0.007-0.005-0.014-0.009-0.022-0.014"
/>
<g>
<polygon
fill=
"#FFFFFF"
points=
"-46.698,75.528 -36.57,60.379 -49.207,62.89 "
/>
...
...
src/FlightMap/Images/MapSyncChanged.svg
View file @
8cdaa3c2
...
...
@@ -2,12 +2,12 @@
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"Layer_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
viewBox=
"-89 46 72 72"
enable-background=
"new -89 46 72 72"
xml:space=
"preserve"
>
<path
fill=
"none"
stroke=
"#FFFF00"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
d=
"M-56.963,64.442
<path
fill=
"none"
stroke=
"#FFFF00"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
d=
"M-56.963,64.442
c-4.199,0.947-8.074,3.392-10.749,7.186c-5.728,8.125-3.785,19.355,4.339,25.083c0.007,0.005,0.014,0.009,0.022,0.014"
/>
<g>
<polygon
fill=
"#FFFF00"
points=
"-59.303,88.472 -69.431,103.621 -56.794,101.11 "
/>
</g>
<path
fill=
"none"
stroke=
"#FFFF00"
stroke-width=
"
2
"
stroke-miterlimit=
"10"
d=
"M-49.038,99.558
<path
fill=
"none"
stroke=
"#FFFF00"
stroke-width=
"
3
"
stroke-miterlimit=
"10"
d=
"M-49.038,99.558
c4.199-0.947,8.074-3.392,10.749-7.186c5.728-8.125,3.785-19.355-4.339-25.083c-0.007-0.005-0.014-0.009-0.022-0.014"
/>
<g>
<polygon
fill=
"#FFFF00"
points=
"-46.698,75.528 -36.57,60.379 -49.207,62.89 "
/>
...
...
src/FlightMap/Widgets/CameraPageWidget.qml
View file @
8cdaa3c2
...
...
@@ -91,7 +91,7 @@ Column {
id
:
camMode
width
:
_hasModes
?
ScreenTools
.
defaultFontPixelWidth
*
8
:
0
height
:
_hasModes
?
ScreenTools
.
defaultFontPixelWidth
*
4
:
0
color
:
qgcPal
.
button
color
:
qgcPal
.
windowShadeLight
radius
:
height
*
0.5
visible
:
_hasModes
anchors.horizontalCenter
:
parent
.
horizontalCenter
...
...
@@ -99,7 +99,7 @@ Column {
Rectangle
{
width
:
parent
.
height
height
:
parent
.
height
color
:
_cameraVideoMode
?
qgcPal
.
window
:
qgcPal
.
button
color
:
_cameraVideoMode
?
qgcPal
.
window
:
qgcPal
.
windowShadeLight
radius
:
height
*
0.5
anchors.left
:
parent
.
left
border.color
:
qgcPal
.
text
...
...
@@ -126,7 +126,7 @@ Column {
Rectangle
{
width
:
parent
.
height
height
:
parent
.
height
color
:
_cameraPhotoMode
?
qgcPal
.
window
:
qgcPal
.
button
color
:
_cameraPhotoMode
?
qgcPal
.
window
:
qgcPal
.
windowShadeLight
radius
:
height
*
0.5
anchors.right
:
parent
.
right
border.color
:
qgcPal
.
text
...
...
src/PlanView/PlanEditToolbar.qml
View file @
8cdaa3c2
...
...
@@ -43,7 +43,7 @@ Item {
Rectangle
{
anchors.fill
:
parent
radius
:
_radius
color
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundLight
:
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundDark
color
:
QGroundControl
.
globalPalette
.
toolbarBackground
}
QGCFlickable
{
...
...
src/PlanView/SimpleItemEditor.qml
View file @
8cdaa3c2
...
...
@@ -130,7 +130,7 @@ Rectangle {
anchors.left
:
parent
.
left
anchors.right
:
parent
.
right
height
:
altColumn
.
y
+
altColumn
.
height
+
_margin
color
:
_globalAltModeIsMixed
?
qgcPal
.
windowShade
:
qgcPal
.
window
color
:
_globalAltModeIsMixed
?
qgcPal
.
windowShade
Light
:
qgcPal
.
windowShadeDark
visible
:
_specifiesAltitude
ColumnLayout
{
...
...
src/QGCPalette.cc
View file @
8cdaa3c2
...
...
@@ -51,6 +51,7 @@ void QGCPalette::_buildMap()
// Light Dark
// Disabled Enabled Disabled Enabled
DECLARE_QGC_COLOR
(
window
,
"#ffffff"
,
"#ffffff"
,
"#222222"
,
"#222222"
)
DECLARE_QGC_COLOR
(
windowShadeLight
,
"#909090"
,
"#828282"
,
"#707070"
,
"#626262"
)
DECLARE_QGC_COLOR
(
windowShade
,
"#d9d9d9"
,
"#d9d9d9"
,
"#333333"
,
"#333333"
)
DECLARE_QGC_COLOR
(
windowShadeDark
,
"#bdbdbd"
,
"#bdbdbd"
,
"#282828"
,
"#282828"
)
DECLARE_QGC_COLOR
(
text
,
"#9d9d9d"
,
"#000000"
,
"#707070"
,
"#ffffff"
)
...
...
@@ -80,11 +81,13 @@ void QGCPalette::_buildMap()
DECLARE_QGC_COLOR
(
statusFailedText
,
"#9d9d9d"
,
"#000000"
,
"#707070"
,
"#ffffff"
)
DECLARE_QGC_COLOR
(
statusPassedText
,
"#9d9d9d"
,
"#000000"
,
"#707070"
,
"#ffffff"
)
DECLARE_QGC_COLOR
(
statusPendingText
,
"#9d9d9d"
,
"#000000"
,
"#707070"
,
"#ffffff"
)
DECLARE_QGC_COLOR
(
toolbarBackground
,
"#ffffff"
,
"#ffffff"
,
"#222222"
,
"#222222"
)
// Colors not affecting by theming
// Disabled Enabled
DECLARE_QGC_NONTHEMED_COLOR
(
brandingPurple
,
"#4A2C6D"
,
"#4A2C6D"
)
DECLARE_QGC_NONTHEMED_COLOR
(
brandingBlue
,
"#48D6FF"
,
"#6045c5"
)
// Disabled Enabled
DECLARE_QGC_NONTHEMED_COLOR
(
brandingPurple
,
"#4A2C6D"
,
"#4A2C6D"
)
DECLARE_QGC_NONTHEMED_COLOR
(
brandingBlue
,
"#48D6FF"
,
"#6045c5"
)
DECLARE_QGC_NONTHEMED_COLOR
(
toolStripFGColor
,
"#707070"
,
"#ffffff"
)
// Colors not affecting by theming or enable/disable
DECLARE_QGC_SINGLE_COLOR
(
mapWidgetBorderLight
,
"#ffffff"
)
...
...
src/QGCPalette.h
View file @
8cdaa3c2
...
...
@@ -113,6 +113,7 @@ public:
Q_PROPERTY
(
QStringList
colors
READ
colors
CONSTANT
)
DEFINE_QGC_COLOR
(
window
,
setWindow
)
DEFINE_QGC_COLOR
(
windowShadeLight
,
setWindowShadeLight
)
DEFINE_QGC_COLOR
(
windowShade
,
setWindowShade
)
DEFINE_QGC_COLOR
(
windowShadeDark
,
setWindowShadeDark
)
DEFINE_QGC_COLOR
(
text
,
setText
)
...
...
@@ -149,6 +150,8 @@ public:
DEFINE_QGC_COLOR
(
statusPendingText
,
setstatusPendingText
)
DEFINE_QGC_COLOR
(
surveyPolygonInterior
,
setSurveyPolygonInterior
)
DEFINE_QGC_COLOR
(
surveyPolygonTerrainCollision
,
setSurveyPolygonTerrainCollision
)
DEFINE_QGC_COLOR
(
toolbarBackground
,
setToolbarBackground
)
DEFINE_QGC_COLOR
(
toolStripFGColor
,
setToolStripFGColor
)
QGCPalette
(
QObject
*
parent
=
nullptr
);
~
QGCPalette
();
...
...
src/QmlControls/FactValueGrid.cc
View file @
8cdaa3c2
...
...
@@ -51,7 +51,7 @@ FactValueGrid::FactValueGrid(QQuickItem* parent)
_iconNames
=
iconDir
.
entryList
();
}
_
connectSignals
();
_
init
();
}
FactValueGrid
::
FactValueGrid
(
const
QString
&
defaultSettingsGroup
)
...
...
@@ -59,12 +59,28 @@ FactValueGrid::FactValueGrid(const QString& defaultSettingsGroup)
,
_defaultSettingsGroup
(
defaultSettingsGroup
)
,
_rows
(
new
QmlObjectListModel
(
this
))
{
_
connectSignals
();
_
init
();
}
void
FactValueGrid
::
_
connectSignals
(
void
)
void
FactValueGrid
::
_
init
(
void
)
{
connect
(
this
,
&
FactValueGrid
::
fontSizeChanged
,
this
,
&
FactValueGrid
::
_saveSettings
);
Vehicle
*
offlineVehicle
=
qgcApp
()
->
toolbox
()
->
multiVehicleManager
()
->
offlineEditingVehicle
();
connect
(
offlineVehicle
,
&
Vehicle
::
vehicleTypeChanged
,
this
,
&
FactValueGrid
::
_offlineVehicleTypeChanged
);
connect
(
this
,
&
FactValueGrid
::
fontSizeChanged
,
this
,
&
FactValueGrid
::
_saveSettings
);
_vehicleClass
=
QGCMAVLink
::
vehicleClass
(
offlineVehicle
->
vehicleType
());
}
void
FactValueGrid
::
_offlineVehicleTypeChanged
(
void
)
{
Vehicle
*
offlineVehicle
=
qgcApp
()
->
toolbox
()
->
multiVehicleManager
()
->
offlineEditingVehicle
();
QGCMAVLink
::
VehicleClass_t
newVehicleClass
=
QGCMAVLink
::
vehicleClass
(
offlineVehicle
->
vehicleType
());
if
(
newVehicleClass
!=
_vehicleClass
)
{
_vehicleClass
=
newVehicleClass
;
_loadSettings
();
}
}
void
FactValueGrid
::
componentComplete
(
void
)
...
...
@@ -243,14 +259,15 @@ void FactValueGrid::_saveSettings(void)
return
;
}
QSettings
settings
;
QSettings
settings
;
QString
groupNameFormat
(
"%1-%2"
);
if
(
_userSettingsGroup
.
isEmpty
())
{
// This means we are setting up default settings
settings
.
beginGroup
(
_defaultSettingsGroup
);
settings
.
beginGroup
(
groupNameFormat
.
arg
(
_defaultSettingsGroup
).
arg
(
_vehicleClass
)
);
}
else
{
// This means we are saving user modifications
settings
.
remove
(
_defaultSettingsGroup
);
settings
.
beginGroup
(
_userSettingsGroup
);
settings
.
remove
(
groupNameFormat
.
arg
(
_defaultSettingsGroup
).
arg
(
_vehicleClass
)
);
settings
.
beginGroup
(
groupNameFormat
.
arg
(
_userSettingsGroup
).
arg
(
_vehicleClass
)
);
}
settings
.
remove
(
""
);
// Remove any previous settings
...
...
@@ -280,21 +297,25 @@ void FactValueGrid::_saveSettings(void)
void
FactValueGrid
::
_loadSettings
(
void
)
{
_preventSaveSettings
=
true
;
_rows
->
deleteLater
();
_rows
=
new
QmlObjectListModel
(
this
);
emit
rowsChanged
(
_rows
);
QSettings
settings
;
if
(
!
settings
.
childGroups
().
contains
(
_userSettingsGroup
))
{
_rows
=
new
QmlObjectListModel
(
this
);
_columnCount
=
0
;
QSettings
settings
;
QString
groupNameFormat
(
"%1-%2"
);
if
(
!
settings
.
childGroups
().
contains
(
groupNameFormat
.
arg
(
_userSettingsGroup
).
arg
(
_vehicleClass
)))
{
qgcApp
()
->
toolbox
()
->
corePlugin
()
->
factValueGridCreateDefaultSettings
(
_defaultSettingsGroup
);
}
_preventSaveSettings
=
true
;
if
(
settings
.
childGroups
().
contains
(
_defaultSettingsGroup
))
{
settings
.
beginGroup
(
_defaultSettingsGroup
);
if
(
settings
.
childGroups
().
contains
(
groupNameFormat
.
arg
(
_defaultSettingsGroup
).
arg
(
_vehicleClass
)
))
{
settings
.
beginGroup
(
groupNameFormat
.
arg
(
_defaultSettingsGroup
).
arg
(
_vehicleClass
)
);
}
else
{
settings
.
beginGroup
(
_userSettingsGroup
);
settings
.
beginGroup
(
groupNameFormat
.
arg
(
_userSettingsGroup
).
arg
(
_vehicleClass
)
);
}
int
version
=
settings
.
value
(
_versionKey
,
0
).
toInt
();
...
...
@@ -333,11 +354,7 @@ void FactValueGrid::_loadSettings(void)
}
settings
.
endArray
();
_preventSaveSettings
=
false
;
emit
rowsChanged
(
_rows
)
;
// Use defaults if nothing there
if
(
_rows
->
count
()
==
0
)
{
_rows
->
deleteLater
();
emit
rowsChanged
(
_rows
);
}
_preventSaveSettings
=
false
;
}
src/QmlControls/FactValueGrid.h
View file @
8cdaa3c2
...
...
@@ -65,8 +65,10 @@ public:
Q_INVOKABLE
void
appendColumn
(
void
);
Q_INVOKABLE
void
deleteLastColumn
(
void
);
FontSize
fontSize
(
void
)
const
{
return
_fontSize
;
}
QStringList
iconNames
(
void
)
const
{
return
_iconNames
;
}
QmlObjectListModel
*
rows
(
void
)
const
{
return
_rows
;
}
FontSize
fontSize
(
void
)
const
{
return
_fontSize
;
}
QStringList
iconNames
(
void
)
const
{
return
_iconNames
;
}
QGCMAVLink
::
VehicleClass_t
vehicleClass
(
void
)
const
{
return
_vehicleClass
;
}
void
setFontSize
(
FontSize
fontSize
);
...
...
@@ -81,22 +83,25 @@ signals:
void
columnCountChanged
(
int
columnCount
);
protected:
Q_DISABLE_COPY
(
FactValueGrid
)
QString
_defaultSettingsGroup
;
// Settings group to read from if the user has not modified from the default settings
QString
_userSettingsGroup
;
// Settings group to read from for user modified settings
Orientation
_orientation
=
VerticalOrientation
;
FontSize
_fontSize
=
DefaultFontSize
;
bool
_preventSaveSettings
=
false
;
QmlObjectListModel
*
_rows
=
nullptr
;
int
_columnCount
=
0
;
QGCMAVLink
::
VehicleClass_t
_vehicleClass
=
QGCMAVLink
::
VehicleClassGeneric
;
QString
_defaultSettingsGroup
;
// Settings group to read from if the user has not modified from the default settings
QString
_userSettingsGroup
;
// Settings group to read from for user modified settings
Orientation
_orientation
=
VerticalOrientation
;
FontSize
_fontSize
=
DefaultFontSize
;
bool
_preventSaveSettings
=
false
;
QmlObjectListModel
*
_rows
=
nullptr
;
int
_columnCount
=
0
;
private
slots
:
void
_offlineVehicleTypeChanged
(
void
);
private:
InstrumentValueData
*
_createNewInstrumentValueWorker
(
QObject
*
parent
);
void
_saveSettings
(
void
);
void
_loadSettings
(
void
);
void
_
connectSignals
(
void
);
void
_
init
(
void
);
void
_connectSaveSignals
(
InstrumentValueData
*
value
);
QString
_pascalCase
(
const
QString
&
text
);
void
_saveValueData
(
QSettings
&
settings
,
InstrumentValueData
*
value
);
...
...
src/QmlControls/HorizontalFactValueGrid.cc
View file @
8cdaa3c2
...
...
@@ -14,8 +14,8 @@
#include <QSettings>
const
QString
HorizontalFactValueGrid
::
_toolbarUserSettingsGroup
(
"ToolbarUserSettings2
"
);
const
QString
HorizontalFactValueGrid
::
t
oolbarDefaultSettingsGroup
(
"ToolbarDefaultSettings2
"
);
const
QString
HorizontalFactValueGrid
::
_toolbarUserSettingsGroup
(
"TelemetryBarUserSettingsWIP0
"
);
const
QString
HorizontalFactValueGrid
::
t
elemetryBarDefaultSettingsGroup
(
"TelemetryBarDefaultSettingsWIP0
"
);
HorizontalFactValueGrid
::
HorizontalFactValueGrid
(
QQuickItem
*
parent
)
:
FactValueGrid
(
parent
)
...
...
src/QmlControls/HorizontalFactValueGrid.h
View file @
8cdaa3c2
...
...
@@ -24,10 +24,10 @@ public:
HorizontalFactValueGrid
(
QQuickItem
*
parent
=
nullptr
);
HorizontalFactValueGrid
(
const
QString
&
defaultSettingsGroup
);
Q_PROPERTY
(
QString
t
oolbarDefaultSettingsGroup
MEMBER
toolb
arDefaultSettingsGroup
CONSTANT
)
Q_PROPERTY
(
QString
t
oolb
arUserSettingsGroup
MEMBER
_toolbarUserSettingsGroup
CONSTANT
)
Q_PROPERTY
(
QString
t
elemetryBarDefaultSettingsGroup
MEMBER
telemetryB
arDefaultSettingsGroup
CONSTANT
)
Q_PROPERTY
(
QString
t
elemetryB
arUserSettingsGroup
MEMBER
_toolbarUserSettingsGroup
CONSTANT
)
static
const
QString
t
oolb
arDefaultSettingsGroup
;
static
const
QString
t
elemetryB
arDefaultSettingsGroup
;
private:
Q_DISABLE_COPY
(
HorizontalFactValueGrid
)
...
...
src/QmlControls/HorizontalFactValueGrid.qml
View file @
8cdaa3c2
...
...
@@ -25,8 +25,9 @@ import QGroundControl 1.0
// If this becomes a problem I'll implement our own grid layout control
T.HorizontalFactValueGrid
{
id
:
_root
width
:
topLevelRowLayout
.
width
id
:
_root
Layout.preferredWidth
:
topLevelRowLayout
.
width
Layout.preferredHeight
:
topLevelRowLayout
.
height
property
bool
settingsUnlocked
:
false
...
...
@@ -39,15 +40,14 @@ T.HorizontalFactValueGrid {
QGCPalette
{
id
:
qgcPal
;
colorGroupEnabled
:
enabled
}
RowLayout
{
id
:
topLevelRowLayout
height
:
parent
.
height
id
:
topLevelRowLayout
Item
{
id
:
lockItem
Layout.fillHeight
:
true
width
:
ScreenTools
.
minTouchPixels
visible
:
settingsUnlocked
enabled
:
settingsUnlocked
id
:
lockItem
Layout.fillHeight
:
true
Layout.preferredWidth
:
ScreenTools
.
minTouchPixels
visible
:
settingsUnlocked
enabled
:
settingsUnlocked
QGCColoredImage
{
anchors.centerIn
:
parent
...
...
@@ -70,10 +70,9 @@ T.HorizontalFactValueGrid {
Layout.fillHeight
:
true
GridLayout
{
id
:
valueGrid
Layout.preferredHeight
:
_root
.
height
rows
:
_root
.
rows
.
count
rowSpacing
:
0
id
:
valueGrid
rows
:
_root
.
rows
.
count
rowSpacing
:
0
Repeater
{
model
:
_root
.
rows
...
...
@@ -86,7 +85,7 @@ T.HorizontalFactValueGrid {
InstrumentValueLabel
{
Layout.row
:
labelRepeater
.
_index
Layout.column
:
index
*
2
Layout.column
:
index
*
3
Layout.fillHeight
:
true
Layout.alignment
:
Qt
.
AlignRight
instrumentValueData
:
object
...
...
@@ -105,22 +104,40 @@ T.HorizontalFactValueGrid {
InstrumentValueValue
{
Layout.row
:
valueRepeater
.
_index
Layout.column
:
index
*
2
+
1
Layout.column
:
(
index
*
3
)
+
1
Layout.fillHeight
:
true
Layout.alignment
:
Qt
.
AlignLeft
instrumentValueData
:
object
}
}
}
Repeater
{
model
:
_root
.
rows
Repeater
{
id
:
spacerRepeater
model
:
object
.
count
>
1
?
object
:
0
property
real
_index
:
index
Item
{
Layout.row
:
spacerRepeater
.
_index
Layout.column
:
(
index
*
3
)
+
2
Layout.preferredWidth
:
ScreenTools
.
defaultFontPixelWidth
Layout.preferredHeight
:
1
}
}
}
}
RowLayout
{
id
:
rowButtons
height
:
ScreenTools
.
minTouchPixels
/
2
Layout.fillWidth
:
true
spacing
:
1
visible
:
settingsUnlocked
enabled
:
settingsUnlocked
id
:
rowButtons
Layout.preferredHeight
:
ScreenTools
.
minTouchPixels
/
2
Layout.fillWidth
:
true
spacing
:
1
visible
:
settingsUnlocked
enabled
:
settingsUnlocked
QGCButton
{
Layout.fillWidth
:
true
...
...
src/QmlControls/QGroundControl/FlightDisplay/qmldir
View file @
8cdaa3c2
...
...
@@ -30,4 +30,5 @@ PreFlightRCCheck 1.0 PreFlightRCCheck.qml
PreFlightSensorsHealthCheck 1.0 PreFlightSensorsHealthCheck.qml
PreFlightSoundCheck 1.0 PreFlightSoundCheck.qml
TerrainProgress 1.0 TerrainProgress.qml
TelemetryValuesBar 1.0 TelemetryValuesBar.qml
VehicleWarnings 1.0 VehicleWarnings.qml
src/QmlControls/ToolStrip.qml
View file @
8cdaa3c2
...
...
@@ -17,7 +17,7 @@ import QGroundControl.Controls 1.0
Rectangle
{
id
:
_root
color
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundLight
:
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundDark
color
:
qgcPal
.
toolbarBackground
width
:
_idealWidth
<
repeater
.
contentWidth
?
repeater
.
contentWidth
:
_idealWidth
height
:
Math
.
min
(
maxHeight
,
toolStripColumn
.
height
+
(
flickable
.
anchors
.
margins
*
2
))
radius
:
ScreenTools
.
defaultFontPixelWidth
/
2
...
...
src/api/QGCCorePlugin.cc
View file @
8cdaa3c2
...
...
@@ -97,7 +97,6 @@ public:
QmlComponentInfo
*
pQmlTest
=
nullptr
;
#endif
QmlComponentInfo
*
valuesPageWidgetInfo
=
nullptr
;
QmlComponentInfo
*
cameraPageWidgetInfo
=
nullptr
;
QmlComponentInfo
*
videoPageWidgetInfo
=
nullptr
;
QmlComponentInfo
*
vibrationPageWidgetInfo
=
nullptr
;
...
...
@@ -191,10 +190,6 @@ void QGCCorePlugin::_autoStreamChanged()
void
QGCCorePlugin
::
_resetInstrumentPages
()
{
if
(
_p
->
valuesPageWidgetInfo
)
{
_p
->
valuesPageWidgetInfo
->
deleteLater
();
_p
->
valuesPageWidgetInfo
=
nullptr
;
}
if
(
_p
->
cameraPageWidgetInfo
)
{
_p
->
cameraPageWidgetInfo
->
deleteLater
();
_p
->
cameraPageWidgetInfo
=
nullptr
;
...
...
@@ -273,8 +268,7 @@ QVariantList &QGCCorePlugin::settingsPages()
QVariantList
&
QGCCorePlugin
::
instrumentPages
()
{
if
(
!
_p
->
valuesPageWidgetInfo
)
{
_p
->
valuesPageWidgetInfo
=
new
QmlComponentInfo
(
tr
(
"Values"
),
QUrl
::
fromUserInput
(
"qrc:/qml/ValuePageWidget.qml"
));
if
(
!
_p
->
cameraPageWidgetInfo
)
{
_p
->
cameraPageWidgetInfo
=
new
QmlComponentInfo
(
tr
(
"Camera"
),
QUrl
::
fromUserInput
(
"qrc:/qml/CameraPageWidget.qml"
));
#if defined(QGC_GST_STREAMING)
if
(
!
_currentCamera
||
!
_currentCamera
->
autoStream
())
{
...
...
@@ -284,7 +278,6 @@ QVariantList& QGCCorePlugin::instrumentPages()
#endif
_p
->
vibrationPageWidgetInfo
=
new
QmlComponentInfo
(
tr
(
"Vibration"
),
QUrl
::
fromUserInput
(
"qrc:/qml/VibrationPageWidget.qml"
));
_p
->
instrumentPageWidgetList
.
append
(
QVariant
::
fromValue
(
_p
->
valuesPageWidgetInfo
));
_p
->
instrumentPageWidgetList
.
append
(
QVariant
::
fromValue
(
_p
->
cameraPageWidgetInfo
));
#if defined(QGC_GST_STREAMING)
_p
->
instrumentPageWidgetList
.
append
(
QVariant
::
fromValue
(
_p
->
videoPageWidgetInfo
));
...
...
@@ -397,46 +390,75 @@ QString QGCCorePlugin::showAdvancedUIMessage() const
void
QGCCorePlugin
::
factValueGridCreateDefaultSettings
(
const
QString
&
defaultSettingsGroup
)
{
if
(
defaultSettingsGroup
==
VerticalFactValueGrid
::
valuePageDefaultSettingsGroup
)
{
VerticalFactValueGrid
factValueGrid
(
defaultSettingsGroup
);
HorizontalFactValueGrid
factValueGrid
(
defaultSettingsGroup
);
factValueGrid
.
setFontSize
(
FactValueGrid
::
LargeFontSize
)
;
bool
includeFWValues
=
factValueGrid
.
vehicleClass
()
==
QGCMAVLink
::
VehicleClassFixedWing
||
factValueGrid
.
vehicleClass
()
==
QGCMAVLink
::
VehicleClassVTOL
;
QmlObjectListModel
*
row
=
factValueGrid
.
appendRow
();
InstrumentValueData
*
value
=
row
->
value
<
InstrumentValueData
*>
(
0
);
value
->
setFact
(
"Vehicle"
,
"DistanceToHome"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
true
);
factValueGrid
.
setFontSize
(
FactValueGrid
::
LargeFontSize
);
row
=
factValueGrid
.
appendRow
();
value
=
row
->
value
<
InstrumentValueData
*>
(
0
);
value
->
setFact
(
"Vehicle"
,
"FlightDistance"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
true
);
factValueGrid
.
appendRow
();
factValueGrid
.
appendRow
();
factValueGrid
.
appendColumn
();
factValueGrid
.
appendColumn
();
if
(
includeFWValues
)
{
factValueGrid
.
appendColumn
();
}
row
=
factValueGrid
.
appendRow
();
value
=
row
->
value
<
InstrumentValueData
*>
(
0
);
value
->
setFact
(
"Vehicle"
,
"FlightTime"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
false
);
}
else
if
(
defaultSettingsGroup
==
HorizontalFactValueGrid
::
toolbarDefaultSettingsGroup
)
{
HorizontalFactValueGrid
factValueGrid
(
defaultSettingsGroup
);
factValueGrid
.
setFontSize
(
FactValueGrid
::
LargeFontSize
);
QmlObjectListModel
*
row
=
factValueGrid
.
appendRow
();
InstrumentValueData
*
value
=
row
->
value
<
InstrumentValueData
*>
(
0
);
value
->
setFact
(
"Vehicle"
,
"AltitudeRelative"
);
value
->
setIcon
(
"arrow-thick-up.svg"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
int
colIndex
=
0
;
QmlObjectListModel
*
row
=
factValueGrid
.
rows
()
->
value
<
QmlObjectListModel
*>
(
0
);
InstrumentValueData
*
value
=
row
->
value
<
InstrumentValueData
*>
(
colIndex
++
);
value
->
setFact
(
"Vehicle"
,
"AltitudeRelative"
);
value
->
setIcon
(
"arrow-thick-up.svg"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
true
);
value
=
row
->
value
<
InstrumentValueData
*>
(
colIndex
++
);
value
->
setFact
(
"Vehicle"
,
"ClimbRate"
);
value
->
setIcon
(
"arrow-simple-up.svg"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
true
);
if
(
includeFWValues
)
{
value
=
row
->
value
<
InstrumentValueData
*>
(
colIndex
++
);
value
->
setFact
(
"Vehicle"
,
"AirSpeed"
);
value
->
setText
(
"AirSpd"
);
value
->
setShowUnits
(
true
);
}
row
=
factValueGrid
.
appendRow
();
value
=
row
->
value
<
InstrumentValueData
*>
(
0
);
value
->
setFact
(
"Vehicle"
,
"GroundSpeed"
);
value
->
setIcon
(
"arrow-thick-right.svg"
);
value
=
row
->
value
<
InstrumentValueData
*>
(
colIndex
++
);
value
->
setFact
(
"Vehicle"
,
"FlightTime"
);
value
->
setIcon
(
"timer.svg"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
false
);
colIndex
=
0
;
row
=
factValueGrid
.
rows
()
->
value
<
QmlObjectListModel
*>
(
1
);
value
=
row
->
value
<
InstrumentValueData
*>
(
colIndex
++
);
value
->
setFact
(
"Vehicle"
,
"DistanceToHome"
);
value
->
setIcon
(
"bookmark copy 3.svg"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
true
);
value
=
row
->
value
<
InstrumentValueData
*>
(
colIndex
++
);
value
->
setFact
(
"Vehicle"
,
"GroundSpeed"
);
value
->
setIcon
(
"arrow-simple-right.svg"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
true
);
if
(
includeFWValues
)
{
value
=
row
->
value
<
InstrumentValueData
*>
(
colIndex
++
);
value
->
setFact
(
"Vehicle"
,
"ThrottlePct"
);
value
->
setText
(
"Thr"
);
value
->
setShowUnits
(
true
);
}
value
=
row
->
value
<
InstrumentValueData
*>
(
colIndex
++
);
value
->
setFact
(
"Vehicle"
,
"FlightDistance"
);
value
->
setIcon
(
"travel-walk.svg"
);
value
->
setText
(
value
->
fact
()
->
shortDescription
());
value
->
setShowUnits
(
true
);
}
QQmlApplicationEngine
*
QGCCorePlugin
::
createQmlApplicationEngine
(
QObject
*
parent
)
...
...
src/api/QGCOptions.h
View file @
8cdaa3c2
...
...
@@ -55,8 +55,6 @@ public:
Q_PROPERTY
(
double
toolbarHeightMultiplier
READ
toolbarHeightMultiplier
CONSTANT
)
Q_PROPERTY
(
bool
enablePlanViewSelector
READ
enablePlanViewSelector
CONSTANT
)
Q_PROPERTY
(
QUrl
preFlightChecklistUrl
READ
preFlightChecklistUrl
CONSTANT
)
Q_PROPERTY
(
QColor
toolbarBackgroundLight
READ
toolbarBackgroundLight
CONSTANT
)
Q_PROPERTY
(
QColor
toolbarBackgroundDark
READ
toolbarBackgroundDark
CONSTANT
)
Q_PROPERTY
(
bool
showSensorCalibrationCompass
READ
showSensorCalibrationCompass
NOTIFY
showSensorCalibrationCompassChanged
)
Q_PROPERTY
(
bool
showSensorCalibrationGyro
READ
showSensorCalibrationGyro
NOTIFY
showSensorCalibrationGyroChanged
)
Q_PROPERTY
(
bool
showSensorCalibrationAccel
READ
showSensorCalibrationAccel
NOTIFY
showSensorCalibrationAccelChanged
)
...
...
src/ui/MainRootWindow.qml
View file @
8cdaa3c2
...
...
@@ -375,7 +375,7 @@ ApplicationWindow {
id
:
planButton
height
:
viewSelectDrawer
.
_toolButtonHeight
Layout.fillWidth
:
true
text
:
qsTr
(
"
Plan
View
"
)
text
:
qsTr
(
"
Plan
Mission
"
)
imageResource
:
"
/qmlimages/Plan.svg
"
imageColor
:
qgcPal
.
text
onClicked
:
{
...
...
src/ui/toolbar/MainToolBar.qml
View file @
8cdaa3c2
...
...
@@ -21,7 +21,7 @@ import QGroundControl.Controllers 1.0
Rectangle
{
id
:
_root
color
:
qgcPal
.
globalTheme
===
QGCPalette
.
Light
?
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundLight
:
QGroundControl
.
corePlugin
.
options
.
toolbarBackgroundDark
color
:
qgcPal
.
toolbarBackground
property
int
currentToolbar
:
flyViewToolbar
...
...
@@ -115,39 +115,11 @@ Rectangle {
anchors.right
:
parent
.
right
contentWidth
:
indicatorLoader
.
x
+
indicatorLoader
.
width
flickableDirection
:
Flickable
.
HorizontalFlick
clip
:
!
valueArea
.
settingsUnlocked
HorizontalFactValueGrid
{
id
:
valueArea
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
userSettingsGroup
:
toolbarUserSettingsGroup
defaultSettingsGroup
:
toolbarDefaultSettingsGroup
visible
:
currentToolbar
!==
planViewToolbar
QGCMouseArea
{
anchors.fill
:
parent
visible
:
!
parent
.
settingsUnlocked
onClicked
:
parent
.
settingsUnlocked
=
true
}
}
Rectangle
{
id
:
separator2
anchors.margins
:
ScreenTools
.
defaultFontPixelHeight
/
2
anchors.bottomMargin
:
ScreenTools
.
defaultFontPixelHeight
/
2
-
1
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
anchors.left
:
valueArea
.
right
width
:
1
color
:
qgcPal
.
text
visible
:
currentToolbar
==
flyViewToolbar
}
Loader
{
id
:
indicatorLoader
anchors.leftMargin
:
currentToolbar
!==
planViewToolbar
?
ScreenTools
.
defaultFontPixelHeight
/
2
:
0
anchors.left
:
currentToolbar
!==
planViewToolbar
?
separator2
.
right
:
parent
.
left
anchors.left
:
parent
.
left
//currentToolbar !== planViewToolbar ? valueArea
.right : parent.left
anchors.top
:
parent
.
top
anchors.bottom
:
parent
.
bottom
source
:
currentToolbar
===
flyViewToolbar
?
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment