From e95c09510d2c06a0f4eebe02522b441a4c18ad65 Mon Sep 17 00:00:00 2001 From: Gus Grubba Date: Thu, 11 Apr 2019 01:40:20 -0300 Subject: [PATCH] Refactor message system and fix typos/errors --- src/Microhard/MicrohardSettings.qml | 2 +- src/QmlControls/AppMessages.qml | 1 - src/Taisync/TaisyncSettings.qml | 2 +- src/ui/MainQmlWindow.qml | 64 +++++++++++++------------- src/ui/preferences/GeneralSettings.qml | 2 +- src/ui/toolbar/MessageIndicator.qml | 2 +- 6 files changed, 36 insertions(+), 37 deletions(-) diff --git a/src/Microhard/MicrohardSettings.qml b/src/Microhard/MicrohardSettings.qml index 50eeb2ef7..af5cbf70e 100644 --- a/src/Microhard/MicrohardSettings.qml +++ b/src/Microhard/MicrohardSettings.qml @@ -27,7 +27,7 @@ import QGroundControl.Palette 1.0 import QGroundControl.ScreenTools 1.0 import QGroundControl.SettingsManager 1.0 -Item { +Rectangle { id: _root color: qgcPal.window anchors.fill: parent diff --git a/src/QmlControls/AppMessages.qml b/src/QmlControls/AppMessages.qml index c62d41dad..3e5a1bd9c 100644 --- a/src/QmlControls/AppMessages.qml +++ b/src/QmlControls/AppMessages.qml @@ -128,7 +128,6 @@ Item { fileExtension: qsTr("txt") selectExisting: false title: qsTr("Select log save file") - root: _root onAcceptedForSave: { debugMessageModel.writeMessages(file); visible = false; diff --git a/src/Taisync/TaisyncSettings.qml b/src/Taisync/TaisyncSettings.qml index fd13dd129..2573218a5 100644 --- a/src/Taisync/TaisyncSettings.qml +++ b/src/Taisync/TaisyncSettings.qml @@ -27,7 +27,7 @@ import QGroundControl.Palette 1.0 import QGroundControl.ScreenTools 1.0 import QGroundControl.SettingsManager 1.0 -Item { +Rectangle { id: _root color: qgcPal.window anchors.fill: parent diff --git a/src/ui/MainQmlWindow.qml b/src/ui/MainQmlWindow.qml index 7321327de..98b5e8a54 100644 --- a/src/ui/MainQmlWindow.qml +++ b/src/ui/MainQmlWindow.qml @@ -429,7 +429,7 @@ ApplicationWindow { } //------------------------------------------------------------------------- - //-- System Messages + //-- Vehicle Messages function formatMessage(message) { message = message.replace(new RegExp("<#E>", "g"), "color: " + qgcPal.warningText + "; font: " + (ScreenTools.defaultFontPointSize.toFixed(0) - 1) + "pt monospace;"); @@ -438,8 +438,8 @@ ApplicationWindow { return message; } - function showMessageArea() { - if(!messageArea.visible) { + function showVehicleMessages() { + if(!vehicleMessageArea.visible) { if(QGroundControl.multiVehicleManager.activeVehicleAvailable) { messageText.text = formatMessage(activeVehicle.formatedMessages) //-- Hack to scroll to last message @@ -449,12 +449,12 @@ ApplicationWindow { } else { messageText.text = qsTr("No Messages") } - messageArea.open() + vehicleMessageArea.open() } } onFormatedMessageChanged: { - if(messageArea.visible) { + if(vehicleMessageArea.visible) { messageText.append(formatMessage(formatedMessage)) //-- Hack to scroll down messageFlick.flick(0,-500) @@ -462,7 +462,7 @@ ApplicationWindow { } Popup { - id: messageArea + id: vehicleMessageArea width: mainWindow.width * 0.666 height: mainWindow.height * 0.666 modal: true @@ -490,7 +490,7 @@ ApplicationWindow { color: qgcPal.text } } - //-- Dismiss System Message + //-- Dismiss Vehicle Messages QGCColoredImage { anchors.margins: ScreenTools.defaultFontPixelHeight * 0.5 anchors.top: parent.top @@ -507,7 +507,7 @@ ApplicationWindow { anchors.fill: parent anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0 onClicked: { - messageArea.close() + vehicleMessageArea.close() } } } @@ -529,7 +529,7 @@ ApplicationWindow { onClicked: { if(QGroundControl.multiVehicleManager.activeVehicleAvailable) { activeVehicle.clearMessages(); - messageArea.close() + vehicleMessageArea.close() } } } @@ -537,17 +537,18 @@ ApplicationWindow { } //------------------------------------------------------------------------- - //-- Critical System Messages + //-- System Messages property var _messageQueue: [] - property string _criticalMessage: "" + property string _systemMessage: "" function showMessage(message) { - if(criticalMmessageArea.visible || QGroundControl.videoManager.fullScreen) { + vehicleMessageArea.close() + if(systemMessageArea.visible || QGroundControl.videoManager.fullScreen) { _messageQueue.push(message) } else { - _criticalMessage = message - criticalMmessageArea.open() + _systemMessage = message + systemMessageArea.open() } } @@ -560,11 +561,11 @@ ApplicationWindow { } Popup { - id: criticalMmessageArea + id: systemMessageArea y: ScreenTools.defaultFontPixelHeight x: (mainWindow.width - width) * 0.5 width: mainWindow.width * 0.55 - height: Math.min(criticalMessageText.height + (ScreenTools.defaultFontPixelHeight * 2), ScreenTools.defaultFontPixelHeight * 6) + height: ScreenTools.defaultFontPixelHeight * 6 modal: false focus: true closePolicy: Popup.CloseOnEscape @@ -578,40 +579,39 @@ ApplicationWindow { } onOpened: { - console.log('Critical Message: ' + mainWindow._criticalMessage) - criticalMessageText.text = mainWindow._criticalMessage + systemMessageText.text = mainWindow._systemMessage } onClosed: { //-- Are there messages in the waiting queue? if(mainWindow._messageQueue.length) { - mainWindow._criticalMessage = "" + mainWindow._systemMessage = "" //-- Show all messages in queue for (var i = 0; i < mainWindow._messageQueue.length; i++) { var text = mainWindow._messageQueue[i] - mainWindow._criticalMessage.append(text) + mainWindow._systemMessage.append(text) } //-- Clear it mainWindow._messageQueue = [] - criticalMmessageArea.open() + systemMessageArea.open() } else { - mainWindow._criticalMessage = "" + mainWindow._systemMessage = "" } } Flickable { - id: criticalMessageFlick + id: systemMessageFlick anchors.margins: ScreenTools.defaultFontPixelHeight anchors.fill: parent - contentHeight: criticalMessageText.height - contentWidth: criticalMessageText.width + contentHeight: systemMessageText.height + contentWidth: systemMessageText.width boundsBehavior: Flickable.StopAtBounds pixelAligned: true clip: true TextEdit { - id: criticalMessageText - width: criticalMmessageArea.width - criticalClose.width - (ScreenTools.defaultFontPixelHeight * 2) - anchors.left: parent.left + id: systemMessageText + width: systemMessageArea.width - systemMessageClose.width - (ScreenTools.defaultFontPixelHeight * 2) + anchors.centerIn: parent readOnly: true textFormat: TextEdit.RichText font.pointSize: ScreenTools.defaultFontPointSize @@ -623,7 +623,7 @@ ApplicationWindow { //-- Dismiss Critical Message QGCColoredImage { - id: criticalClose + id: systemMessageClose anchors.margins: ScreenTools.defaultFontPixelHeight * 0.5 anchors.top: parent.top anchors.right: parent.right @@ -637,7 +637,7 @@ ApplicationWindow { anchors.fill: parent anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0 onClicked: { - criticalMmessageArea.close() + systemMessageArea.close() } } } @@ -652,12 +652,12 @@ ApplicationWindow { sourceSize.height: width source: "/res/ArrowDown.svg" fillMode: Image.PreserveAspectFit - visible: criticalMessageText.lineCount > 5 + visible: systemMessageText.lineCount > 5 color: qgcPal.alertText MouseArea { anchors.fill: parent onClicked: { - criticalMessageFlick.flick(0,-500) + systemMessageFlick.flick(0,-500) } } } diff --git a/src/ui/preferences/GeneralSettings.qml b/src/ui/preferences/GeneralSettings.qml index d8fd4980b..aee5d2d4e 100644 --- a/src/ui/preferences/GeneralSettings.qml +++ b/src/ui/preferences/GeneralSettings.qml @@ -24,7 +24,7 @@ import QGroundControl.Palette 1.0 import QGroundControl.Controllers 1.0 import QGroundControl.SettingsManager 1.0 -Item { +Rectangle { id: _root color: qgcPal.window anchors.fill: parent diff --git a/src/ui/toolbar/MessageIndicator.qml b/src/ui/toolbar/MessageIndicator.qml index 78d6c4fe5..abc7e3d02 100644 --- a/src/ui/toolbar/MessageIndicator.qml +++ b/src/ui/toolbar/MessageIndicator.qml @@ -67,6 +67,6 @@ Item { MouseArea { anchors.fill: parent - onClicked: mainWindow.showMessageArea() + onClicked: mainWindow.showVehicleMessages() } } -- 2.22.0