6import QGroundControl.Controls
10 Layout.preferredWidth: ScreenTools.defaultFontPixelWidth * 50
13 textFormat: TextEdit.RichText
15 placeholderText: qsTr("No Messages")
16 placeholderTextColor: qgcPal.text
18 wrapMode: TextEdit.Wrap
20 property bool noMessages: messageText.length === 0
22 property var _fact: null
24 function formatMessage(message) {
25 message = message.replace(new RegExp("<#E>", "g"), "color: " + qgcPal.warningText + "; font: " + (ScreenTools.defaultFontPointSize.toFixed(0) - 1) + "pt monospace;");
26 message = message.replace(new RegExp("<#I>", "g"), "color: " + qgcPal.warningText + "; font: " + (ScreenTools.defaultFontPointSize.toFixed(0) - 1) + "pt monospace;");
27 message = message.replace(new RegExp("<#N>", "g"), "color: " + qgcPal.text + "; font: " + (ScreenTools.defaultFontPointSize.toFixed(0) - 1) + "pt monospace;");
31 Component.onCompleted: {
32 messageText.text = formatMessage(_activeVehicle.formattedMessages)
34 _activeVehicle.resetAllMessages()
39 target: _activeVehicle
40 function onNewFormattedMessage(formattedMessage) { messageText.insert(0, formatMessage(formattedMessage)) }
47 onLinkActivated: (link) => {
48 if (link.startsWith('param://')) {
49 var paramName = link.substr(8);
50 _fact = controller.getParameterFact(-1, paramName, true)
52 paramEditorDialogFactory.open()
55 Qt.openUrlExternally(link);
59 QGCPopupDialogFactory {
60 id: paramEditorDialogFactory
62 dialogComponent: paramEditorDialogComponent
66 id: paramEditorDialogComponent
68 ParameterEditorDialog {
69 title: qsTr("Edit Parameter")
70 fact: messageText._fact
76 anchors.right: parent.right
77 anchors.top: parent.top
78 width: ScreenTools.defaultFontPixelHeight * 1.25
81 color: QGroundControl.globalPalette.button
82 border.color: QGroundControl.globalPalette.buttonText
86 anchors.margins: ScreenTools.defaultFontPixelHeight * 0.25
87 anchors.centerIn: parent
89 sourceSize.height: height
90 source: "/res/TrashDelete.svg"
91 fillMode: Image.PreserveAspectFit
100 _activeVehicle.clearMessages()
101 mainWindow.closeIndicatorDrawer()