From 5fed5222dfb04f056bf7315c1ba87b6f09e611c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Tue, 26 Sep 2023 11:58:33 +0200 Subject: [PATCH] MessageIndicator: handle url & parameter links --- src/ui/toolbar/MessageIndicator.qml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) 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 + } } } }