diff --git a/src/MissionEditor/MissionEditor.qml b/src/MissionEditor/MissionEditor.qml index 7765e91aa17658c8e0e5f44eb49ac07466f9833d..89168723c38fc673d6d2da00a1dbe7af31a35f84 100644 --- a/src/MissionEditor/MissionEditor.qml +++ b/src/MissionEditor/MissionEditor.qml @@ -89,6 +89,7 @@ QGCView { coordinate.longitude = coordinate.longitude.toFixed(_decimalPlaces) coordinate.altitude = coordinate.altitude.toFixed(_decimalPlaces) var sequenceNumber = missionController.insertComplexMissionItem(complexItemName, coordinate, missionController.visualItems.count) + setCurrentItem(sequenceNumber) } property bool _firstMissionLoadComplete: false diff --git a/src/VehicleSetup/VehicleComponent.h b/src/VehicleSetup/VehicleComponent.h index a212ec1c645ecee62279e9cb417a6760216750b2..28eb585ed78c92a8556dc145587ae26ce406b037 100644 --- a/src/VehicleSetup/VehicleComponent.h +++ b/src/VehicleSetup/VehicleComponent.h @@ -34,7 +34,7 @@ class VehicleComponent : public QObject Q_PROPERTY(bool requiresSetup READ requiresSetup CONSTANT) Q_PROPERTY(bool setupComplete READ setupComplete STORED false NOTIFY setupCompleteChanged) Q_PROPERTY(QString iconResource READ iconResource CONSTANT) - Q_PROPERTY(QUrl setupSource READ setupSource CONSTANT) + Q_PROPERTY(QUrl setupSource READ setupSource NOTIFY setupSourceChanged) Q_PROPERTY(QUrl summaryQmlSource READ summaryQmlSource CONSTANT) Q_PROPERTY(bool allowSetupWhileArmed READ allowSetupWhileArmed CONSTANT) @@ -65,6 +65,7 @@ public: signals: void setupCompleteChanged(bool setupComplete); + void setupSourceChanged(void); protected slots: void _triggerUpdated(QVariant value); diff --git a/src/api/QGCCorePlugin.h b/src/api/QGCCorePlugin.h index 9589717b4bc584fd4342f59b8930d988950bbd52..37c4df53dba86322b2beedcf9c6712644f521171 100644 --- a/src/api/QGCCorePlugin.h +++ b/src/api/QGCCorePlugin.h @@ -39,6 +39,7 @@ public: Q_PROPERTY(bool showTouchAreas READ showTouchAreas WRITE setShowTouchAreas NOTIFY showTouchAreasChanged) Q_PROPERTY(bool showAdvancedUI READ showAdvancedUI WRITE setShowAdvancedUI NOTIFY showAdvancedUIChanged) + Q_PROPERTY(QString showAdvancedUIMessage READ showAdvancedUIMessage CONSTANT) Q_PROPERTY(QString brandImageIndoor READ brandImageIndoor CONSTANT) Q_PROPERTY(QString brandImageOutdoor READ brandImageOutdoor CONSTANT) @@ -71,6 +72,10 @@ public: /// Return the resource file which contains the brand image for for Outdoor theme. virtual QString brandImageOutdoor(void) const { return QString(); } + /// @return The message to show to the user when they a re prompted to confirm turning on advanced ui. + virtual QString showAdvancedUIMessage(void) const { return tr("WARNING: You are about to enter Advanced Mode. This may expose features which may cause your vehicle to malfunction. " + "You should do so only if instructed by customer support. Are you sure you want to enable Advanced Mode?"); } + bool showTouchAreas(void) const { return _showTouchAreas; } bool showAdvancedUI(void) const { return _showAdvancedUI; } void setShowTouchAreas(bool show); diff --git a/src/ui/toolbar/MainToolBarIndicators.qml b/src/ui/toolbar/MainToolBarIndicators.qml index 4c245192cd6b8f3f9a9e4b68a63b4013cd5e26d1..ab9adff276abaef7a6b5c1e69546eb013a1b408c 100644 --- a/src/ui/toolbar/MainToolBarIndicators.qml +++ b/src/ui/toolbar/MainToolBarIndicators.qml @@ -7,10 +7,10 @@ * ****************************************************************************/ - import QtQuick 2.3 import QtQuick.Controls 1.2 import QtQuick.Layouts 1.2 +import QtQuick.Dialogs 1.2 import QGroundControl 1.0 import QGroundControl.Controls 1.0 @@ -19,20 +19,19 @@ import QGroundControl.ScreenTools 1.0 import QGroundControl.Palette 1.0 Item { - property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle - property bool _communicationLost: _activeVehicle ? _activeVehicle.connectionLost : false + property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle + property bool _communicationLost: _activeVehicle ? _activeVehicle.connectionLost : false QGCPalette { id: qgcPal } - // Easter egg mechanism MouseArea { anchors.fill: parent onClicked: { - console.log("easter egg click", ++_clickCount) + _clickCount++ eggTimer.restart() - if (_clickCount == 5) { - QGroundControl.corePlugin.showAdvancedUI = true + if (_clickCount == 5 && !QGroundControl.corePlugin.showAdvancedUI) { + advancedModeConfirmation.visible = true } else if (_clickCount == 7) { QGroundControl.corePlugin.showTouchAreas = true } @@ -45,6 +44,18 @@ Item { interval: 1000 onTriggered: parent._clickCount = 0 } + + MessageDialog { + id: advancedModeConfirmation + title: qsTr("Advanced Mode") + text: QGroundControl.corePlugin.showAdvancedUIMessage + standardButtons: StandardButton.Yes | StandardButton.No + + onYes: { + QGroundControl.corePlugin.showAdvancedUI = true + visible = false + } + } } QGCLabel {