Commit e95c0951 authored by Gus Grubba's avatar Gus Grubba

Refactor message system and fix typos/errors

parent e55deea4
...@@ -27,7 +27,7 @@ import QGroundControl.Palette 1.0 ...@@ -27,7 +27,7 @@ import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0 import QGroundControl.ScreenTools 1.0
import QGroundControl.SettingsManager 1.0 import QGroundControl.SettingsManager 1.0
Item { Rectangle {
id: _root id: _root
color: qgcPal.window color: qgcPal.window
anchors.fill: parent anchors.fill: parent
......
...@@ -128,7 +128,6 @@ Item { ...@@ -128,7 +128,6 @@ Item {
fileExtension: qsTr("txt") fileExtension: qsTr("txt")
selectExisting: false selectExisting: false
title: qsTr("Select log save file") title: qsTr("Select log save file")
root: _root
onAcceptedForSave: { onAcceptedForSave: {
debugMessageModel.writeMessages(file); debugMessageModel.writeMessages(file);
visible = false; visible = false;
......
...@@ -27,7 +27,7 @@ import QGroundControl.Palette 1.0 ...@@ -27,7 +27,7 @@ import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0 import QGroundControl.ScreenTools 1.0
import QGroundControl.SettingsManager 1.0 import QGroundControl.SettingsManager 1.0
Item { Rectangle {
id: _root id: _root
color: qgcPal.window color: qgcPal.window
anchors.fill: parent anchors.fill: parent
......
...@@ -429,7 +429,7 @@ ApplicationWindow { ...@@ -429,7 +429,7 @@ ApplicationWindow {
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
//-- System Messages //-- Vehicle Messages
function formatMessage(message) { function formatMessage(message) {
message = message.replace(new RegExp("<#E>", "g"), "color: " + qgcPal.warningText + "; font: " + (ScreenTools.defaultFontPointSize.toFixed(0) - 1) + "pt monospace;"); message = message.replace(new RegExp("<#E>", "g"), "color: " + qgcPal.warningText + "; font: " + (ScreenTools.defaultFontPointSize.toFixed(0) - 1) + "pt monospace;");
...@@ -438,8 +438,8 @@ ApplicationWindow { ...@@ -438,8 +438,8 @@ ApplicationWindow {
return message; return message;
} }
function showMessageArea() { function showVehicleMessages() {
if(!messageArea.visible) { if(!vehicleMessageArea.visible) {
if(QGroundControl.multiVehicleManager.activeVehicleAvailable) { if(QGroundControl.multiVehicleManager.activeVehicleAvailable) {
messageText.text = formatMessage(activeVehicle.formatedMessages) messageText.text = formatMessage(activeVehicle.formatedMessages)
//-- Hack to scroll to last message //-- Hack to scroll to last message
...@@ -449,12 +449,12 @@ ApplicationWindow { ...@@ -449,12 +449,12 @@ ApplicationWindow {
} else { } else {
messageText.text = qsTr("No Messages") messageText.text = qsTr("No Messages")
} }
messageArea.open() vehicleMessageArea.open()
} }
} }
onFormatedMessageChanged: { onFormatedMessageChanged: {
if(messageArea.visible) { if(vehicleMessageArea.visible) {
messageText.append(formatMessage(formatedMessage)) messageText.append(formatMessage(formatedMessage))
//-- Hack to scroll down //-- Hack to scroll down
messageFlick.flick(0,-500) messageFlick.flick(0,-500)
...@@ -462,7 +462,7 @@ ApplicationWindow { ...@@ -462,7 +462,7 @@ ApplicationWindow {
} }
Popup { Popup {
id: messageArea id: vehicleMessageArea
width: mainWindow.width * 0.666 width: mainWindow.width * 0.666
height: mainWindow.height * 0.666 height: mainWindow.height * 0.666
modal: true modal: true
...@@ -490,7 +490,7 @@ ApplicationWindow { ...@@ -490,7 +490,7 @@ ApplicationWindow {
color: qgcPal.text color: qgcPal.text
} }
} }
//-- Dismiss System Message //-- Dismiss Vehicle Messages
QGCColoredImage { QGCColoredImage {
anchors.margins: ScreenTools.defaultFontPixelHeight * 0.5 anchors.margins: ScreenTools.defaultFontPixelHeight * 0.5
anchors.top: parent.top anchors.top: parent.top
...@@ -507,7 +507,7 @@ ApplicationWindow { ...@@ -507,7 +507,7 @@ ApplicationWindow {
anchors.fill: parent anchors.fill: parent
anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0 anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0
onClicked: { onClicked: {
messageArea.close() vehicleMessageArea.close()
} }
} }
} }
...@@ -529,7 +529,7 @@ ApplicationWindow { ...@@ -529,7 +529,7 @@ ApplicationWindow {
onClicked: { onClicked: {
if(QGroundControl.multiVehicleManager.activeVehicleAvailable) { if(QGroundControl.multiVehicleManager.activeVehicleAvailable) {
activeVehicle.clearMessages(); activeVehicle.clearMessages();
messageArea.close() vehicleMessageArea.close()
} }
} }
} }
...@@ -537,17 +537,18 @@ ApplicationWindow { ...@@ -537,17 +537,18 @@ ApplicationWindow {
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
//-- Critical System Messages //-- System Messages
property var _messageQueue: [] property var _messageQueue: []
property string _criticalMessage: "" property string _systemMessage: ""
function showMessage(message) { function showMessage(message) {
if(criticalMmessageArea.visible || QGroundControl.videoManager.fullScreen) { vehicleMessageArea.close()
if(systemMessageArea.visible || QGroundControl.videoManager.fullScreen) {
_messageQueue.push(message) _messageQueue.push(message)
} else { } else {
_criticalMessage = message _systemMessage = message
criticalMmessageArea.open() systemMessageArea.open()
} }
} }
...@@ -560,11 +561,11 @@ ApplicationWindow { ...@@ -560,11 +561,11 @@ ApplicationWindow {
} }
Popup { Popup {
id: criticalMmessageArea id: systemMessageArea
y: ScreenTools.defaultFontPixelHeight y: ScreenTools.defaultFontPixelHeight
x: (mainWindow.width - width) * 0.5 x: (mainWindow.width - width) * 0.5
width: mainWindow.width * 0.55 width: mainWindow.width * 0.55
height: Math.min(criticalMessageText.height + (ScreenTools.defaultFontPixelHeight * 2), ScreenTools.defaultFontPixelHeight * 6) height: ScreenTools.defaultFontPixelHeight * 6
modal: false modal: false
focus: true focus: true
closePolicy: Popup.CloseOnEscape closePolicy: Popup.CloseOnEscape
...@@ -578,40 +579,39 @@ ApplicationWindow { ...@@ -578,40 +579,39 @@ ApplicationWindow {
} }
onOpened: { onOpened: {
console.log('Critical Message: ' + mainWindow._criticalMessage) systemMessageText.text = mainWindow._systemMessage
criticalMessageText.text = mainWindow._criticalMessage
} }
onClosed: { onClosed: {
//-- Are there messages in the waiting queue? //-- Are there messages in the waiting queue?
if(mainWindow._messageQueue.length) { if(mainWindow._messageQueue.length) {
mainWindow._criticalMessage = "" mainWindow._systemMessage = ""
//-- Show all messages in queue //-- Show all messages in queue
for (var i = 0; i < mainWindow._messageQueue.length; i++) { for (var i = 0; i < mainWindow._messageQueue.length; i++) {
var text = mainWindow._messageQueue[i] var text = mainWindow._messageQueue[i]
mainWindow._criticalMessage.append(text) mainWindow._systemMessage.append(text)
} }
//-- Clear it //-- Clear it
mainWindow._messageQueue = [] mainWindow._messageQueue = []
criticalMmessageArea.open() systemMessageArea.open()
} else { } else {
mainWindow._criticalMessage = "" mainWindow._systemMessage = ""
} }
} }
Flickable { Flickable {
id: criticalMessageFlick id: systemMessageFlick
anchors.margins: ScreenTools.defaultFontPixelHeight anchors.margins: ScreenTools.defaultFontPixelHeight
anchors.fill: parent anchors.fill: parent
contentHeight: criticalMessageText.height contentHeight: systemMessageText.height
contentWidth: criticalMessageText.width contentWidth: systemMessageText.width
boundsBehavior: Flickable.StopAtBounds boundsBehavior: Flickable.StopAtBounds
pixelAligned: true pixelAligned: true
clip: true clip: true
TextEdit { TextEdit {
id: criticalMessageText id: systemMessageText
width: criticalMmessageArea.width - criticalClose.width - (ScreenTools.defaultFontPixelHeight * 2) width: systemMessageArea.width - systemMessageClose.width - (ScreenTools.defaultFontPixelHeight * 2)
anchors.left: parent.left anchors.centerIn: parent
readOnly: true readOnly: true
textFormat: TextEdit.RichText textFormat: TextEdit.RichText
font.pointSize: ScreenTools.defaultFontPointSize font.pointSize: ScreenTools.defaultFontPointSize
...@@ -623,7 +623,7 @@ ApplicationWindow { ...@@ -623,7 +623,7 @@ ApplicationWindow {
//-- Dismiss Critical Message //-- Dismiss Critical Message
QGCColoredImage { QGCColoredImage {
id: criticalClose id: systemMessageClose
anchors.margins: ScreenTools.defaultFontPixelHeight * 0.5 anchors.margins: ScreenTools.defaultFontPixelHeight * 0.5
anchors.top: parent.top anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
...@@ -637,7 +637,7 @@ ApplicationWindow { ...@@ -637,7 +637,7 @@ ApplicationWindow {
anchors.fill: parent anchors.fill: parent
anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0 anchors.margins: ScreenTools.isMobile ? -ScreenTools.defaultFontPixelHeight : 0
onClicked: { onClicked: {
criticalMmessageArea.close() systemMessageArea.close()
} }
} }
} }
...@@ -652,12 +652,12 @@ ApplicationWindow { ...@@ -652,12 +652,12 @@ ApplicationWindow {
sourceSize.height: width sourceSize.height: width
source: "/res/ArrowDown.svg" source: "/res/ArrowDown.svg"
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
visible: criticalMessageText.lineCount > 5 visible: systemMessageText.lineCount > 5
color: qgcPal.alertText color: qgcPal.alertText
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: { onClicked: {
criticalMessageFlick.flick(0,-500) systemMessageFlick.flick(0,-500)
} }
} }
} }
......
...@@ -24,7 +24,7 @@ import QGroundControl.Palette 1.0 ...@@ -24,7 +24,7 @@ import QGroundControl.Palette 1.0
import QGroundControl.Controllers 1.0 import QGroundControl.Controllers 1.0
import QGroundControl.SettingsManager 1.0 import QGroundControl.SettingsManager 1.0
Item { Rectangle {
id: _root id: _root
color: qgcPal.window color: qgcPal.window
anchors.fill: parent anchors.fill: parent
......
...@@ -67,6 +67,6 @@ Item { ...@@ -67,6 +67,6 @@ Item {
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: mainWindow.showMessageArea() onClicked: mainWindow.showVehicleMessages()
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment