diff --git a/src/ui/toolbar/MessageIndicator.qml b/src/ui/toolbar/MessageIndicator.qml index 397c81a..6bb0e56 100644 --- a/src/ui/toolbar/MessageIndicator.qml +++ b/src/ui/toolbar/MessageIndicator.qml @@ -14,6 +14,7 @@ import QtQuick.Layouts 1.2 import QGroundControl 1.0 import QGroundControl.Controls 1.0 +import QGroundControl.FactSystem 1.0 import QGroundControl.MultiVehicleManager 1.0 import QGroundControl.ScreenTools 1.0 import QGroundControl.Palette 1.0 @@ -142,6 +143,10 @@ Item { } } + FactPanelController { + id: controller + } + QGCFlickable { id: messageFlick anchors.margins: ScreenTools.defaultFontPixelHeight @@ -158,6 +163,27 @@ Item { color: qgcPal.text selectionColor: qgcPal.text selectedTextColor: qgcPal.window + property var fact: null + onLinkActivated: { + if (link.startsWith('param://')) { + var paramName = link.substr(8); + fact = controller.getParameterFact(-1, paramName, true) + if (fact != null) { + paramEditorDialogComponent.createObject(mainWindow).open() + } + } else { + Qt.openUrlExternally(link); + } + } + } + Component { + id: paramEditorDialogComponent + + ParameterEditorDialog { + title: qsTr("Edit Parameter") + fact: messageText.fact + destroyOnClose: true + } } } }