Commit 20664925 authored by DoinLakeFlyer's avatar DoinLakeFlyer

parent cbbf4322
......@@ -92,15 +92,17 @@
<file alias="QGroundControl/Controls/EditPositionDialog.qml">../src/QmlControls/EditPositionDialog.qml</file>
<file alias="QGroundControl/Controls/ExclusiveGroupItem.qml">../src/QmlControls/ExclusiveGroupItem.qml</file>
<file alias="QGroundControl/Controls/FactSliderPanel.qml">../src/QmlControls/FactSliderPanel.qml</file>
<file alias="QGroundControl/Controls/FirstRunPrompt.qml">../src/FirstRunPromptDialogs/FirstRunPrompt.qml</file>
<file alias="QGroundControl/Controls/FileButton.qml">../src/QmlControls/FileButton.qml</file>
<file alias="QGroundControl/Controls/FlightModeDropdown.qml">../src/QmlControls/FlightModeDropdown.qml</file>
<file alias="QGroundControl/Controls/FlightModeMenu.qml">../src/QmlControls/FlightModeMenu.qml</file>
<file alias="QGroundControl/Controls/FWLandingPatternMapVisual.qml">../src/PlanView/FWLandingPatternMapVisual.qml</file>
<file alias="QGroundControl/Controls/GeoFenceEditor.qml">../src/PlanView/GeoFenceEditor.qml</file>
<file alias="QGroundControl/Controls/GeoFenceMapVisuals.qml">../src/PlanView/GeoFenceMapVisuals.qml</file>
<file alias="QGroundControl/Controls/HorizontalFactValueGrid.qml">../src/QmlControls/HorizontalFactValueGrid.qml</file>
<file alias="QGroundControl/Controls/IndicatorButton.qml">../src/QmlControls/IndicatorButton.qml</file>
<file alias="QGroundControl/Controls/InstrumentValue.qml">../src/QmlControls/InstrumentValue.qml</file>
<file alias="QGroundControl/Controls/InstrumentValueArea.qml">../src/QmlControls/InstrumentValueArea.qml</file>
<file alias="QGroundControl/Controls/InstrumentValueLabel.qml">../src/QmlControls/InstrumentValueLabel.qml</file>
<file alias="QGroundControl/Controls/InstrumentValueValue.qml">../src/QmlControls/InstrumentValueValue.qml</file>
<file alias="QGroundControl/Controls/InstrumentValueEditDialog.qml">../src/QmlControls/InstrumentValueEditDialog.qml</file>
<file alias="QGroundControl/Controls/JoystickThumbPad.qml">../src/QmlControls/JoystickThumbPad.qml</file>
<file alias="QGroundControl/Controls/KMLOrSHPFileDialog.qml">../src/QmlControls/KMLOrSHPFileDialog.qml</file>
......@@ -177,11 +179,14 @@
<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/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>
<file alias="QGroundControl/Controls/ViewWidget.qml">../src/ViewWidgets/ViewWidget.qml</file>
<file alias="QGroundControl/Controls/VTOLLandingPatternMapVisual.qml">../src/PlanView/VTOLLandingPatternMapVisual.qml</file>
<file alias="QGroundControl/FactControls/AltitudeFactTextField.qml">../src/FactSystem/FactControls/AltitudeFactTextField.qml</file>
<file alias="QGroundControl/FactControls/FactBitmask.qml">../src/FactSystem/FactControls/FactBitmask.qml</file>
<file alias="QGroundControl/FactControls/FactCheckBox.qml">../src/FactSystem/FactControls/FactCheckBox.qml</file>
......@@ -203,12 +208,19 @@
<file alias="QGroundControl/FlightDisplay/FlyViewMissionCompleteDialog.qml">../src/FlightDisplay/FlyViewMissionCompleteDialog.qml</file>
<file alias="QGroundControl/FlightDisplay/FlyViewPreFlightChecklistPopup.qml">../src/FlightDisplay/FlyViewPreFlightChecklistPopup.qml</file>
<file alias="QGroundControl/FlightDisplay/FlyViewToolStrip.qml">../src/FlightDisplay/FlyViewToolStrip.qml</file>
<file alias="QGroundControl/FlightDisplay/FlyViewToolStripActionList.qml">../src/FlightDisplay/FlyViewToolStripActionList.qml</file>
<file alias="QGroundControl/FlightDisplay/FlyViewVideo.qml">../src/FlightDisplay/FlyViewVideo.qml</file>
<file alias="QGroundControl/FlightDisplay/FlyViewWidgetLayer.qml">../src/FlightDisplay/FlyViewWidgetLayer.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionActionList.qml">../src/FlightDisplay/GuidedActionActionList.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionConfirm.qml">../src/FlightDisplay/GuidedActionConfirm.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionList.qml">../src/FlightDisplay/GuidedActionList.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionsController.qml">../src/FlightDisplay/GuidedActionsController.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionLand.qml">../src/FlightDisplay/GuidedActionLand.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionList.qml">../src/FlightDisplay/GuidedActionList.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionTakeoff.qml">../src/FlightDisplay/GuidedActionTakeoff.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionPause.qml">../src/FlightDisplay/GuidedActionPause.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedActionRTL.qml">../src/FlightDisplay/GuidedActionRTL.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedAltitudeSlider.qml">../src/FlightDisplay/GuidedAltitudeSlider.qml</file>
<file alias="QGroundControl/FlightDisplay/GuidedToolStripAction.qml">../src/FlightDisplay/GuidedToolStripAction.qml</file>
<file alias="QGroundControl/FlightDisplay/MultiVehicleList.qml">../src/FlightDisplay/MultiVehicleList.qml</file>
<file alias="QGroundControl/FlightDisplay/MultiVehiclePanel.qml">../src/FlightDisplay/MultiVehiclePanel.qml</file>
<file alias="QGroundControl/FlightDisplay/PreFlightBatteryCheck.qml">../src/FlightDisplay/PreFlightBatteryCheck.qml</file>
......@@ -216,6 +228,7 @@
<file alias="QGroundControl/FlightDisplay/PreFlightRCCheck.qml">../src/FlightDisplay/PreFlightRCCheck.qml</file>
<file alias="QGroundControl/FlightDisplay/PreFlightSensorsHealthCheck.qml">../src/FlightDisplay/PreFlightSensorsHealthCheck.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/TerrainProgress.qml">../src/FlightDisplay/TerrainProgress.qml</file>
<file alias="QGroundControl/FlightDisplay/VehicleWarnings.qml">../src/FlightDisplay/VehicleWarnings.qml</file>
<file alias="QGroundControl/FlightDisplay/qmldir">../src/QmlControls/QGroundControl/FlightDisplay/qmldir</file>
......@@ -262,12 +275,11 @@
<file alias="VibrationPageWidget.qml">../src/FlightMap/Widgets/VibrationPageWidget.qml</file>
<file alias="VideoPageWidget.qml">../src/FlightMap/Widgets/VideoPageWidget.qml</file>
<file alias="VirtualJoystick.qml">../src/FlightDisplay/VirtualJoystick.qml</file>
<file alias="QGroundControl/Controls/VTOLLandingPatternMapVisual.qml">../src/PlanView/VTOLLandingPatternMapVisual.qml</file>
<file alias="VTOLLandingPatternEditor.qml">../src/PlanView/VTOLLandingPatternEditor.qml</file>
<file alias="QGroundControl/Specific/qmldir">../src/QmlControls/QGroundControl/Specific/qmldir</file>
<file alias="QGroundControl/Specific/StartupWizard.qml">../src/QmlControls/QGroundControl/Specific/StartupWizard.qml</file>
<file alias="QGroundControl/Specific/BaseStartupWizardPage.qml">../src/QmlControls/QGroundControl/Specific/BaseStartupWizardPage.qml</file>
<file alias="QGroundControl/Specific/UnitsWizardPage.qml">../src/QmlControls/QGroundControl/Specific/UnitsWizardPage.qml</file>
</qresource>
<qresource prefix="/FirstRunPromptDialogs">
<file alias="UnitsFirstRunPrompt.qml">../src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml</file>
<file alias="OfflineVehicleFirstRunPrompt.qml">../src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml</file>
</qresource>
<qresource prefix="/json">
<file alias="ADSBVehicleManager.SettingsGroup.json">../src/Settings/ADSBVehicleManager.SettingsGroup.json</file>
......
......@@ -33,16 +33,16 @@ AutoPilotPlugin* CustomFirmwarePlugin::autopilotPlugin(Vehicle* vehicle)
return new CustomAutoPilotPlugin(vehicle, vehicle);
}
const QVariantList& CustomFirmwarePlugin::toolBarIndicators(const Vehicle* vehicle)
const QVariantList& CustomFirmwarePlugin::toolIndicators(const Vehicle* vehicle)
{
if (_toolBarIndicatorList.size() == 0) {
if (_toolIndicatorList.size() == 0) {
// First call the base class to get the standard QGC list. This way we are guaranteed to always get
// any new toolbar indicators which are added upstream in our custom build.
_toolBarIndicatorList = FirmwarePlugin::toolBarIndicators(vehicle);
_toolIndicatorList = FirmwarePlugin::toolIndicators(vehicle);
// Then specifically remove the RC RSSI indicator.
_toolBarIndicatorList.removeOne(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/RCRSSIIndicator.qml")));
_toolIndicatorList.removeOne(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/RCRSSIIndicator.qml")));
}
return _toolBarIndicatorList;
return _toolIndicatorList;
}
// Tells QGC that your vehicle has a gimbal on it. This will in turn cause thing like gimbal commands to point
......
......@@ -25,10 +25,10 @@ public:
CustomFirmwarePlugin();
// FirmwarePlugin overrides
AutoPilotPlugin* autopilotPlugin (Vehicle* vehicle) final;
const QVariantList& toolBarIndicators (const Vehicle* vehicle) final;
bool hasGimbal (Vehicle* vehicle, bool& rollSupported, bool& pitchSupported, bool& yawSupported) final;
AutoPilotPlugin* autopilotPlugin (Vehicle* vehicle) final;
const QVariantList& toolIndicators (const Vehicle* vehicle) final;
bool hasGimbal (Vehicle* vehicle, bool& rollSupported, bool& pitchSupported, bool& yawSupported) final;
private:
QVariantList _toolBarIndicatorList;
QVariantList _toolIndicatorList;
};
......@@ -92,6 +92,7 @@
<file alias="QGroundControl/Controls/EditPositionDialog.qml">src/QmlControls/EditPositionDialog.qml</file>
<file alias="QGroundControl/Controls/ExclusiveGroupItem.qml">src/QmlControls/ExclusiveGroupItem.qml</file>
<file alias="QGroundControl/Controls/FactSliderPanel.qml">src/QmlControls/FactSliderPanel.qml</file>
<file alias="QGroundControl/Controls/FirstRunPrompt.qml">src/FirstRunPromptDialogs/FirstRunPrompt.qml</file>
<file alias="QGroundControl/Controls/FileButton.qml">src/QmlControls/FileButton.qml</file>
<file alias="QGroundControl/Controls/FlightModeDropdown.qml">src/QmlControls/FlightModeDropdown.qml</file>
<file alias="QGroundControl/Controls/FlightModeMenu.qml">src/QmlControls/FlightModeMenu.qml</file>
......@@ -185,6 +186,7 @@
<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/ViewWidget.qml">src/ViewWidgets/ViewWidget.qml</file>
<file alias="QGroundControl/Controls/VTOLLandingPatternMapVisual.qml">src/PlanView/VTOLLandingPatternMapVisual.qml</file>
<file alias="QGroundControl/FactControls/AltitudeFactTextField.qml">src/FactSystem/FactControls/AltitudeFactTextField.qml</file>
<file alias="QGroundControl/FactControls/FactBitmask.qml">src/FactSystem/FactControls/FactBitmask.qml</file>
<file alias="QGroundControl/FactControls/FactCheckBox.qml">src/FactSystem/FactControls/FactCheckBox.qml</file>
......@@ -273,12 +275,11 @@
<file alias="VibrationPageWidget.qml">src/FlightMap/Widgets/VibrationPageWidget.qml</file>
<file alias="VideoPageWidget.qml">src/FlightMap/Widgets/VideoPageWidget.qml</file>
<file alias="VirtualJoystick.qml">src/FlightDisplay/VirtualJoystick.qml</file>
<file alias="QGroundControl/Controls/VTOLLandingPatternMapVisual.qml">src/PlanView/VTOLLandingPatternMapVisual.qml</file>
<file alias="VTOLLandingPatternEditor.qml">src/PlanView/VTOLLandingPatternEditor.qml</file>
<file alias="QGroundControl/Specific/qmldir">src/QmlControls/QGroundControl/Specific/qmldir</file>
<file alias="QGroundControl/Specific/StartupWizard.qml">src/QmlControls/QGroundControl/Specific/StartupWizard.qml</file>
<file alias="QGroundControl/Specific/BaseStartupWizardPage.qml">src/QmlControls/QGroundControl/Specific/BaseStartupWizardPage.qml</file>
<file alias="QGroundControl/Specific/UnitsWizardPage.qml">src/QmlControls/QGroundControl/Specific/UnitsWizardPage.qml</file>
</qresource>
<qresource prefix="/FirstRunPromptDialogs">
<file alias="UnitsFirstRunPrompt.qml">src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml</file>
<file alias="OfflineVehicleFirstRunPrompt.qml">src/FirstRunPromptDialogs/OfflineVehicleFirstRunPrompt.qml</file>
</qresource>
<qresource prefix="/json">
<file alias="ADSBVehicleManager.SettingsGroup.json">src/Settings/ADSBVehicleManager.SettingsGroup.json</file>
......
/****************************************************************************
*
* (c) 2009-2020 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.Dialogs 1.3
import QGroundControl 1.0
import QGroundControl.Controls 1.0
// Base class for all first run prompt dialogs
QGCPopupDialog {
buttons: StandardButton.Ok
property int promptId
property bool markAsShownOnClose: true
onHideDialog: {
if (markAsShownOnClose) {
QGroundControl.settingsManager.appSettings.firstRunPromptIdsMarkIdAsShown(promptId)
}
}
}
/****************************************************************************
*
* (c) 2009-2020 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.FactSystem 1.0
import QGroundControl.FactControls 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.SettingsManager 1.0
import QGroundControl.Controls 1.0
FirstRunPrompt {
title: qsTr("Vehicle Information")
promptId: QGroundControl.corePlugin.offlineVehicleFirstRunPromptId
property real _margins: ScreenTools.defaultFontPixelWidth
property var _appSettings: QGroundControl.settingsManager.appSettings
property var _offlineVehicle: QGroundControl.multiVehicleManager.offlineEditingVehicle
property bool _showCruiseSpeed: !_offlineVehicle.multiRotor
property bool _showHoverSpeed: _offlineVehicle.multiRotor || _offlineVehicle.vtol
property bool _multipleFirmware: QGroundControl.supportedFirmwareCount > 2
property bool _multipleVehicleTypes: QGroundControl.supportedVehicleCount > 1
property real _fieldWidth: ScreenTools.defaultFontPixelWidth * 16
ColumnLayout {
spacing: ScreenTools.defaultFontPixelHeight
QGCLabel {
id: unitsSectionLabel
Layout.preferredWidth: valueRect.width
text: qsTr("Specify information about the vehicle you plan to fly. If you are unsure of the correct values leave them as is.")
wrapMode: Text.WordWrap
}
Rectangle {
id: valueRect
Layout.preferredHeight: valueGrid.height + (_margins * 2)
Layout.preferredWidth: valueGrid.width + (_margins * 2)
color: qgcPal.windowShade
Layout.fillWidth: true
GridLayout {
id: valueGrid
anchors.margins: _margins
anchors.top: parent.top
anchors.left: parent.left
columns: 2
QGCLabel {
Layout.fillWidth: true
text: qsTr("Firmware")
visible: _multipleFirmware
}
FactComboBox {
Layout.preferredWidth: _fieldWidth
fact: QGroundControl.settingsManager.appSettings.offlineEditingFirmwareType
indexModel: false
visible: _multipleFirmware
}
QGCLabel {
Layout.fillWidth: true
text: qsTr("Vehicle")
visible: _multipleVehicleTypes
}
FactComboBox {
Layout.preferredWidth: _fieldWidth
fact: QGroundControl.settingsManager.appSettings.offlineEditingVehicleType
indexModel: false
visible: _multipleVehicleTypes
}
QGCLabel {
Layout.fillWidth: true
text: qsTr("Mission Cruise Speed")
visible: _showCruiseSpeed
}
FactTextField {
Layout.preferredWidth: _fieldWidth
fact: QGroundControl.settingsManager.appSettings.offlineEditingCruiseSpeed
visible: _showCruiseSpeed
}
QGCLabel {
Layout.fillWidth: true
text: qsTr("Mission Hover Speed")
visible: _showHoverSpeed
}
FactTextField {
Layout.preferredWidth: _fieldWidth
fact: QGroundControl.settingsManager.appSettings.offlineEditingHoverSpeed
visible: _showHoverSpeed
}
}
}
}
}
/****************************************************************************
*
* (c) 2009-2020 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.FactSystem 1.0
import QGroundControl.FactControls 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.SettingsManager 1.0
import QGroundControl.Controls 1.0
FirstRunPrompt {
title: qsTr("Measurement Units")
promptId: QGroundControl.corePlugin.unitsFirstRunPromptId
property real _margins: ScreenTools.defaultFontPixelHeight / 2
property var _unitsSettings: QGroundControl.settingsManager.unitsSettings
property var _rgFacts: [ _unitsSettings.horizontalDistanceUnits, _unitsSettings.verticalDistanceUnits, _unitsSettings.areaUnits, _unitsSettings.speedUnits, _unitsSettings.temperatureUnits ]
property var _rgLabels: [ qsTr("Horizontal Distance"), qsTr("Vertical Distance"), qsTr("Area"), qsTr("Speed"), qsTr("Temperature") ]
property int _cVisibleFacts: 0
Component.onCompleted: {
var cVisibleFacts = 0
for (var i=0; i<_rgFacts.length; i++) {
if (_rgFacts[i].visible) {
cVisibleFacts++
}
}
_cVisibleFacts = cVisibleFacts
}
function changeSystemOfUnits(metric) {
if (_unitsSettings.horizontalDistanceUnits.visible) {
_unitsSettings.horizontalDistanceUnits.value = metric ? UnitsSettings.HorizontalDistanceUnitsMeters : UnitsSettings.HorizontalDistanceUnitsFeet
}
if (_unitsSettings.verticalDistanceUnits.visible) {
_unitsSettings.verticalDistanceUnits.value = metric ? UnitsSettings.VerticalDistanceUnitsMeters : UnitsSettings.VerticalDistanceUnitsFeet
}
if (_unitsSettings.areaUnits.visible) {
_unitsSettings.areaUnits.value = metric ? UnitsSettings.AreaUnitsSquareMeters : UnitsSettings.AreaUnitsSquareFeet
}
if (_unitsSettings.speedUnits.visible) {
_unitsSettings.speedUnits.value = metric ? UnitsSettings.SpeedUnitsMetersPerSecond : UnitsSettings.SpeedUnitsFeetPerSecond
}
if (_unitsSettings.temperatureUnits.visible) {
_unitsSettings.temperatureUnits.value = metric ? UnitsSettings.TemperatureUnitsCelsius : UnitsSettings.TemperatureUnitsFarenheit
}
}
ColumnLayout {
id: settingsColumn
spacing: ScreenTools.defaultFontPixelHeight
QGCLabel {
id: unitsSectionLabel
text: qsTr("Choose the measurement units you want to use. You can also change it later in General Settings.")
Layout.preferredWidth: unitsGrid.width
wrapMode: Text.WordWrap
}
Rectangle {
Layout.preferredHeight: unitsGrid.height + (_margins * 2)
Layout.preferredWidth: unitsGrid.width + (_margins * 2)
color: qgcPal.windowShade
Layout.fillWidth: true
GridLayout {
id: unitsGrid
anchors.margins: _margins
anchors.top: parent.top
anchors.left: parent.left
rows: _cVisibleFacts + 1
flow: GridLayout.TopToBottom
QGCLabel { text: qsTr("System of units") }
Repeater {
model: _rgFacts.length
QGCLabel {
text: _rgLabels[index]
visible: _rgFacts[index].visible
}
}
QGCComboBox {
Layout.fillWidth: true
sizeToContents: true
model: [ qsTr("Metric System"), qsTr("Imperial System") ]
currentIndex: _unitsSettings.horizontalDistanceUnits.value === UnitsSettings.HorizontalDistanceUnitsMeters ? 0 : 1
onActivated: changeSystemOfUnits(currentIndex === 0 /* metric */)
}
Repeater {
model: _rgFacts.length
FactComboBox {
Layout.fillWidth: true
sizeToContents: true
fact: _rgFacts[index]
indexModel: false
visible: _rgFacts[index].visible
}
}
}
}
}
}
......@@ -176,7 +176,7 @@ T.HorizontalFactValueGrid {
var item = valueGrid.childAt(mouse.x, mouse.y)
//console.log(item, item ? item.instrumentValueData : "null", item && item.parent ? item.parent.instrumentValueData : "null")
if (item && item.instrumentValueData !== undefined) {
mainWindow.showPopupDialog(valueEditDialog, { instrumentValueData: item.instrumentValueData })
mainWindow.showPopupDialogFromComponent(valueEditDialog, { instrumentValueData: item.instrumentValueData })
}
}
......
......@@ -77,7 +77,7 @@ QGCPopupDialog {
instrumentValueData.text = ""
instrumentValueData.icon = instrumentValueData.factValueGrid.iconNames[0]
var updateFunction = function(icon){ instrumentValueData.icon = icon }
mainWindow.showPopupDialog(iconPickerDialog, { iconNames: instrumentValueData.factValueGrid.iconNames, icon: instrumentValueData.icon, updateIconFunction: updateFunction })
mainWindow.showPopupDialogFromComponent(iconPickerDialog, { iconNames: instrumentValueData.factValueGrid.iconNames, icon: instrumentValueData.icon, updateIconFunction: updateFunction })
}
}
......@@ -98,7 +98,7 @@ QGCPopupDialog {
anchors.fill: parent
onClicked: {
var updateFunction = function(icon){ instrumentValueData.icon = icon }
mainWindow.showPopupDialog(iconPickerDialog, { iconNames: instrumentValueData.factValueGrid.iconNames, icon: instrumentValueData.icon, updateIconFunction: updateFunction })
mainWindow.showPopupDialogFromComponent(iconPickerDialog, { iconNames: instrumentValueData.factValueGrid.iconNames, icon: instrumentValueData.icon, updateIconFunction: updateFunction })
}
}
......@@ -392,7 +392,7 @@ QGCPopupDialog {
anchors.fill: parent
onClicked: {
var updateFunction = function(icon){ updateIconValue(index, icon) }
mainWindow.showPopupDialog(iconPickerDialog, { iconNames: instrumentValueData.factValueGrid.iconNames, icon: modelData, updateIconFunction: updateFunction })
mainWindow.showPopupDialogFromComponent(iconPickerDialog, { iconNames: instrumentValueData.factValueGrid.iconNames, icon: modelData, updateIconFunction: updateFunction })
}
}
}
......
......@@ -290,7 +290,7 @@ QGCViewDialog {
text: qsTr("Set RC to Param")
width: _editFieldWidth
visible: _advanced.checked && !validate && showRCToParam
onClicked: mainWindow.showPopupDialog(rcToParamDialog)
onClicked: mainWindow.showPopupDialogFromComponent(rcToParamDialog)
}
} // Column
}
......
......@@ -18,10 +18,11 @@ import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
Popup {
property var dialogComponent
property var dialogProperties
property var dialogComponent
property string dialogSource
property var dialogProperties
id: popupRoot
id: _root
anchors.centerIn: parent
width: mainColumnLayout.width + (padding * 2)
height: mainColumnLayout.y + mainColumnLayout.height + padding
......@@ -75,7 +76,7 @@ Popup {
}
Rectangle {
anchors.margins: popupRoot.padding
anchors.margins: _root.padding
anchors.fill: parent
color: _pal.window
}
......@@ -209,10 +210,11 @@ Popup {
Loader {
id: dialogComponentLoader
x: _contentMargin
source: dialogSource
sourceComponent: dialogComponent
focus: true
property var dialogProperties: popupRoot.dialogProperties
property var dialogProperties: _root.dialogProperties
property bool acceptAllowed: acceptButton.visible
property bool rejectAllowed: rejectButton.visible
}
......
......@@ -15,6 +15,7 @@ DropPanel 1.0 DropPanel.qml
EditPositionDialog 1.0 EditPositionDialog.qml
ExclusiveGroupItem 1.0 ExclusiveGroupItem.qml
FactSliderPanel 1.0 FactSliderPanel.qml
FirstRunPrompt 1.0 FirstRunPrompt.qml
FileButton 1.0 FileButton.qml
FlightModeDropdown 1.0 FlightModeDropdown.qml
FlightModeMenu 1.0 FlightModeMenu.qml
......
import QtQuick 2.12
Item {
// `null` for default which makes the wizzard display one of the buttons: "Next" if more pages or "Done" if the last
property string doneText: null
// Blocks user from closing the wizard or going to the next page until this becomes true
property bool forceConfirmation: false
signal closeView()
}
import QtQuick 2.11
import QtQuick.Layouts 1.11
import QGroundControl.ScreenTools 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
import QGroundControl 1.0
import QGroundControl.Specific 1.0
Item {
id: _root
implicitWidth: contentColumn.implicitWidth + contentColumn.anchors.margins * 2.5
implicitHeight: contentColumn.implicitHeight + contentColumn.anchors.margins * 2 + contentColumn.spacing * 3
property bool forceKeepingOpen: _pageReady && pageLoader.item.forceConfirmation && !_armed
signal closeView()
property bool _pageReady: pageLoader.status === Loader.Ready
property int _currentIndex: 0
property int _pagesCount: QGroundControl.corePlugin.startupPages.length
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property bool _armed: _activeVehicle && _activeVehicle.armed
function doneOrJumpToNext() {
if(_currentIndex < _pagesCount - 1)
_currentIndex += 1
else {
_root.closeView()
QGroundControl.settingsManager.appSettings.firstTimeStart.value = false
}
}
Connections {
target: _pageReady ? pageLoader.item : null
onCloseView: doneOrJumpToNext()
}
ColumnLayout {
id: contentColumn
anchors.fill: parent
anchors.margins: ScreenTools.defaultFontPixelHeight
spacing: ScreenTools.defaultFontPixelHeight * 0.5
QGCLabel {
id: titleLabel
text: qsTr("Welcome to " + QGroundControl.appName)
color: qgcPal.text
font.family: ScreenTools.demiboldFontFamily
font.pointSize: ScreenTools.mediumFontPointSize
}
Rectangle {
id: separatorRect
height: 1
color: qgcPal.windowShade
Layout.fillWidth: true
}
Flickable {
id: flickablePage
clip: true
contentWidth: pageLoader.item ? pageLoader.item.width : 0
contentHeight: pageLoader.item ? pageLoader.item.height : 0
Layout.fillHeight: true
Layout.preferredWidth: contentWidth
Layout.preferredHeight: contentHeight
Loader {
id: pageLoader
source: QGroundControl.corePlugin.startupPages[_currentIndex]
}
}
QGCButton {
id: confirmButton
property string _acknowledgeText: _pagesCount <= 1 ? qsTr("Next") : qsTr("Done")
text: (_pageReady && pageLoader.item && pageLoader.item.doneText) ? pageLoader.item.doneText : _acknowledgeText
onClicked: doneOrJumpToNext()
}
}
}
import QtQuick 2.12
import QtQuick.Layouts 1.12
import QGroundControl 1.0
import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.SettingsManager 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Specific 1.0
BaseStartupWizardPage {
width: settingsColumn.width
height: settingsColumn.height
property real _margins: ScreenTools.defaultFontPixelWidth
property real _comboFieldWidth: ScreenTools.defaultFontPixelWidth * 20
doneText: qsTr("Confirm")
ColumnLayout {
id: settingsColumn
anchors.horizontalCenter: parent.horizontalCenter
spacing: ScreenTools.defaultFontPixelHeight
QGCLabel {
id: unitsSectionLabel
text: qsTr("Choose the measurement units you want to use in the application. You can change it later on in General Settings.")
Layout.preferredWidth: unitsGrid.width
wrapMode: Text.WordWrap
}
Rectangle {
Layout.preferredHeight: unitsGrid.height + (_margins * 2)
Layout.preferredWidth: unitsGrid.width + (_margins * 2)
color: qgcPal.windowShade
Layout.fillWidth: true
GridLayout {
id: unitsGrid
anchors.topMargin: _margins
anchors.top: parent.top
Layout.fillWidth: false
anchors.horizontalCenter: parent.horizontalCenter
flow: GridLayout.TopToBottom
rows: 5
QGCLabel { text: qsTr("System of units") }
Repeater {
model: [ qsTr("Distance"), qsTr("Area"), qsTr("Speed"), qsTr("Temperature") ]
QGCLabel { text: modelData }
}
QGCComboBox {
model: [qsTr("Metric System"), qsTr("Imperial System")]
Layout.preferredWidth: _comboFieldWidth
currentIndex: QGroundControl.settingsManager.unitsSettings.horizontalDistanceUnits.value === UnitsSettings.HorizontalDistanceUnitsMeters ? 0 : 1
onActivated: {
var metric = (currentIndex === 0);
QGroundControl.settingsManager.unitsSettings.horizontalDistanceUnits.value = metric ? UnitsSettings.HorizontalDistanceUnitsMeters : UnitsSettings.HorizontalDistanceUnitsFeet
QGroundControl.settingsManager.unitsSettings.areaUnits.value = metric ? UnitsSettings.AreaUnitsSquareMeters : UnitsSettings.AreaUnitsSquareFeet
QGroundControl.settingsManager.unitsSettings.speedUnits.value = metric ? UnitsSettings.SpeedUnitsMetersPerSecond : UnitsSettings.SpeedUnitsFeetPerSecond
QGroundControl.settingsManager.unitsSettings.temperatureUnits.value = metric ? UnitsSettings.TemperatureUnitsCelsius : UnitsSettings.TemperatureUnitsFarenheit
}
}
Repeater {
model: [ QGroundControl.settingsManager.unitsSettings.horizontalDistanceUnits, QGroundControl.settingsManager.unitsSettings.areaUnits, QGroundControl.settingsManager.unitsSettings.speedUnits, QGroundControl.settingsManager.unitsSettings.temperatureUnits ]
FactComboBox {
Layout.preferredWidth: _comboFieldWidth
fact: modelData
indexModel: false
}
}
}
}
}
}
module QGroundControl.Specific
BaseStartupWizardPage 1.0 BaseStartupWizardPage.qml
StartupWizard 1.0 StartupWizard.qml
UnitsWizardPage 1.0 UnitsWizardPage.qml
......@@ -144,7 +144,7 @@ T.VerticalFactValueGrid {
var item = valueGrid.childAt(mouse.x, mouse.y)
//console.log(item, item ? item.instrumentValueData : "null", item && item.parent ? item.parent.instrumentValueData : "null")
if (item && item.instrumentValueData !== undefined) {
mainWindow.showPopupDialog(valueEditDialog, { instrumentValueData: item.instrumentValueData })
mainWindow.showPopupDialogFromComponent(valueEditDialog, { instrumentValueData: item.instrumentValueData })
}
}
......
......@@ -22,7 +22,7 @@
{
"name": "offlineEditingCruiseSpeed",
"shortDescription": "Offline editing cruise speed",