From 3a9207cc931483d725afb6d3cd78f001a4f85491 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Wed, 23 May 2018 17:24:11 -0700 Subject: [PATCH] Coding style cleanup --- src/FlightDisplay/CheckList.qml | 66 ++++++++++----- src/QmlControls/QGCCheckListItem.qml | 121 ++++++++++++++++++--------- 2 files changed, 126 insertions(+), 61 deletions(-) diff --git a/src/FlightDisplay/CheckList.qml b/src/FlightDisplay/CheckList.qml index 21c773359..daddfb6a9 100644 --- a/src/FlightDisplay/CheckList.qml +++ b/src/FlightDisplay/CheckList.qml @@ -1,3 +1,12 @@ +/**************************************************************************** + * + * (c) 2009-2016 QGROUNDCONTROL PROJECT + * + * QGroundControl is licensed according to the terms in the file + * COPYING.md in the root of the source code directory. + * + ****************************************************************************/ + import QtQuick 2.3 import QtQml.Models 2.1 @@ -17,7 +26,7 @@ Item { property bool audioMuted: QGroundControl.settingsManager.appSettings.audioMuted.rawValue property ObjectModel checkListItems: _checkListItems property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle - property int _checkState: _activeVehicle ? (_activeVehicle.armed ? 1 + (buttonActuators._state + buttonMotors._state + buttonMission._state + buttonSoundOutput._state) / 4 / 4 : 0) : 0 ; // Shows progress of checks inside the checklist - unlocks next check steps in groups + property int _checkState: _activeVehicle ? (_activeVehicle.armed ? 1 + (buttonActuators.state + buttonMotors.state + buttonMission.state + buttonSoundOutput.state) / 4 / 4 : 0) : 0 ; // Shows progress of checks inside the checklist - unlocks next check steps in groups // Connections onBatPercentRemainingChanged: buttonBattery.updateItem(); @@ -75,13 +84,16 @@ Item { pendingtext: "Healthy & charged > 40%. Battery connector firmly plugged?" function updateItem() { if (!_activeVehicle) { - _state = 0; + state = statePassed } else { - if (!(unhealthySensors & Vehicle.SysStatusSensorBattery) && batPercentRemaining>=40.0) _state = 1+3*(_nrClicked>0); - else { - if(unhealthySensors & Vehicle.SysStatusSensorBattery) failuretext="Not healthy. Check console."; - else if(batPercentRemaining<40.0) failuretext="Low (below 40%). Please recharge."; - _state = 3; + if (unhealthySensors & Vehicle.SysStatusSensorBattery) { + failuretext = qsTr("Not healthy. Check console.") + state = stateMajorIssue + } else if (batPercentRemaining < 40.0) { + failuretext = qsTr("Low (below 40%). Please recharge.") + state = stateMajorIssue + } else { + state = _nrClicked > 0 ? statePassed : statePending } } } @@ -91,7 +103,7 @@ Item { name: "Sensors" function updateItem() { if (!_activeVehicle) { - _state = 0; + state = statePassed } else { if(!(unhealthySensors & Vehicle.SysStatusSensor3dMag) && !(unhealthySensors & Vehicle.SysStatusSensor3dAccel) && @@ -99,11 +111,11 @@ Item { !(unhealthySensors & Vehicle.SysStatusSensorAbsolutePressure) && !(unhealthySensors & Vehicle.SysStatusSensorDifferentialPressure) && !(unhealthySensors & Vehicle.SysStatusSensorGPS)) { - if(!gpsLock) { - pendingtext="Pending. Waiting for GPS lock."; - _state=1; + if (!gpsLock) { + pendingtext = qsTr("Pending. Waiting for GPS lock.") + state = statePending } else { - _state = 4; // All OK + state = statePassed } } else { if(unhealthySensors & Vehicle.SysStatusSensor3dMag) failuretext="Failure. Magnetometer issues. Check console."; @@ -112,7 +124,7 @@ Item { else if(unhealthySensors & Vehicle.SysStatusSensorAbsolutePressure) failuretext="Failure. Barometer issues. Check console."; else if(unhealthySensors & Vehicle.SysStatusSensorDifferentialPressure) failuretext="Failure. Airspeed sensor issues. Check console."; else if(unhealthySensors & Vehicle.SysStatusSensorGPS) failuretext="Failure. No valid or low quality GPS signal. Check console."; - _state = 3; + state = stateMajorIssue } } } @@ -124,10 +136,13 @@ Item { failuretext: "No signal or invalid autopilot-RC config. Check RC and console." function updateItem() { if (!_activeVehicle) { - _state = 0; + state = statePassed } else { - if (unhealthySensors & Vehicle.SysStatusSensorRCReceiver) {_state = 3} - else {_state = 1+3*(_nrClicked>0);} + if (unhealthySensors & Vehicle.SysStatusSensorRCReceiver) { + state = stateMajorIssue + } else { + state = _nrClicked > 0 ? statePassed : statePending + } } } } @@ -136,10 +151,13 @@ Item { name: "Global position estimate" function updateItem() { if (!_activeVehicle) { - _state = 0; + state = statePassed } else { - if (unhealthySensors & Vehicle.SysStatusSensorAHRS) {_state = 3;} - else {_state = 4;} + if (unhealthySensors & Vehicle.SysStatusSensorAHRS) { + state = stateMajorIssue + } else { + state = statePassed + } } } } @@ -172,10 +190,14 @@ Item { failuretext: "Failure, QGC audio output is disabled. Please enable it under application settings->general to hear audio warnings!" function updateItem() { if (!_activeVehicle) { - _state = 0; + state = statePassed } else { - if (audioMuted) {_state = 3 ; _nrClicked=0;} - else {_state = 1+3*(_nrClicked>0);} + if (audioMuted) { + state = stateMajorIssue + _nrClicked = 0 + } else { + state = _nrClicked > 0 ? statePassed : statePending + } } } } diff --git a/src/QmlControls/QGCCheckListItem.qml b/src/QmlControls/QGCCheckListItem.qml index 0d0c113ec..371e0b4d9 100644 --- a/src/QmlControls/QGCCheckListItem.qml +++ b/src/QmlControls/QGCCheckListItem.qml @@ -1,72 +1,115 @@ -import QtQuick 2.3 -import QtQuick.Controls 1.2 -import QtQuick.Controls.Styles 1.4 +/**************************************************************************** + * + * (c) 2009-2016 QGROUNDCONTROL PROJECT + * + * QGroundControl is licensed according to the terms in the file + * COPYING.md in the root of the source code directory. + * + ****************************************************************************/ -import QGroundControl 1.0 -import QGroundControl.Palette 1.0 -import QGroundControl.ScreenTools 1.0 +import QtQuick 2.3 +import QtQuick.Controls 1.2 +import QtQuick.Controls.Styles 1.4 + +import QGroundControl 1.0 +import QGroundControl.Palette 1.0 +import QGroundControl.ScreenTools 1.0 QGCButton { property string name: "" property int group: 0 - property string defaulttext: "Not checked yet" + property string defaulttext: qsTr("Not checked yet") property string pendingtext: "" - property string failuretext: "Failure. Check console." - property int _state: 0 + property string failuretext: qsTr("Failure. Check console.") + property int state: stateNotChecked + + readonly property int stateNotChecked: 0 + readonly property int statePending: 1 + readonly property int stateMinorIssue: 2 + readonly property int stateMajorIssue: 3 + readonly property int statePassed: 4 + property var _color: qgcPal.button property int _nrClicked: 0 - property string _text: qsTr(name)+ ": " + qsTr(defaulttext) + property string _text: name + ": " + defaulttext + property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle + + enabled: (!_activeVehicle || _activeVehicle.connectionLost) ? false : checklist._checkState >= group + opacity: (!_activeVehicle || _activeVehicle.connectionLost) ? 0.4 : 0.2 + (0.8 * (checklist._checkState >= group)) + width: 40 * ScreenTools.defaultFontPixelWidth - enabled : (_activeVehicle==null || _activeVehicle.connectionLost) ? false : checklist._checkState>=group - opacity : (_activeVehicle==null || _activeVehicle.connectionLost) ? 0.4 : 0.2+0.8*(checklist._checkState >= group); - width: 40*ScreenTools.defaultFontPixelWidth style: ButtonStyle { background: Rectangle {color:_color; border.color: qgcPal.button; radius:3} label: Label { - text: _text - wrapMode: Text.WordWrap - horizontalAlignment: Text.AlignHCenter - color: _state>0 ? qgcPal.mapWidgetBorderLight : qgcPal.buttonText + text: _text + wrapMode: Text.WordWrap + horizontalAlignment: Text.AlignHCenter + color: state > 0 ? qgcPal.mapWidgetBorderLight : qgcPal.buttonText } } - // Connections - onPendingtextChanged: { if(_state==1) {getTextFromState(); getColorFromState();} } - onFailuretextChanged: { if(_state==3) {getTextFromState(); getColorFromState();} } - on_StateChanged: { getTextFromState(); getColorFromState(); } + onPendingtextChanged: { if (state === statePending) { getTextFromState(); getColorFromState(); } } + onFailuretextChanged: { if (state === stateMajorIssue) { getTextFromState(); getColorFromState(); } } + onStateChanged: { getTextFromState(); getColorFromState(); } onClicked: { - if(_state<2) _nrClicked=_nrClicked+1; //Only allow click-counter to increase when not failed yet - updateItem(); + if (state <= statePending) { + _nrClicked = _nrClicked + 1 //Only allow click-counter to increase when not failed yet + } + updateItem() } - //Functions function updateItem() { // This is the default updateFunction. It assumes the item is a MANUAL check list item, i.e. one that // only requires user clicks (one click if pendingtext="", two clicks otherwise) for completion. - if(_nrClicked===0) _state = 0; - else if(_nrClicked===1) { - if(pendingtext.length === 0) _state = 4; - else _state = 1; - } else _state = 4; + if (_nrClicked === 0) { + state = stateNotChecked + } else if (_nrClicked === 1) { + if (pendingtext.length === 0) { + state = statePassed + } else { + state = statePending + } + } else { + state = statePassed + } getTextFromState(); getColorFromState(); } + function getTextFromState() { - if(_state === 0) {_text= qsTr(name) + ": " + qsTr(defaulttext)} // Not checked yet - else if(_state === 1) {_text= ""+qsTr(name)+"" +": " + qsTr(pendingtext)} // Pending - else if(_state === 2) {_text= ""+qsTr(name)+"" +": " + qsTr("Minor problem")} // Small problem or need further user action to resolve - else if(_state === 3) {_text= ""+qsTr(name)+"" +": " + qsTr(failuretext)} // Big problem - else {_text= ""+qsTr(name)+"" +": " + qsTr("OK")} // All OK + if (state === stateNotChecked) { + _text = qsTr(name) + ": " + qsTr(defaulttext) + } else if (state === statePending) { + _text = ""+qsTr(name)+"" +": " + pendingtext + } else if (state === stateMinorIssue) { + _text = ""+qsTr(name)+"" +": " + qsTr("Minor problem") + } else if (state === stateMajorIssue) { + _text = ""+qsTr(name)+"" +": " + failuretext + } else if (state === statePassed) { + _text = ""+qsTr(name)+"" +": " + qsTr("OK") + } else { + console.warn("Internal Error: invalid state", state) + } } + function getColorFromState() { - if(_state === 0) {_color=qgcPal.button} // Not checked yet - else if(_state === 1) {_color=Qt.rgba(0.9,0.47,0.2,1)} // Pending - else if(_state === 2) {_color=Qt.rgba(1.0,0.6,0.2,1)} // Small problem or need further user action to resolve - else if(_state === 3) {_color=Qt.rgba(0.92,0.22,0.22,1)} // Big problem - else {_color=Qt.rgba(0.27,0.67,0.42,1)} // All OK + if (state === stateNotChecked) { + _color = qgcPal.button + } else if (state === statePending) { + _color = Qt.rgba(0.9,0.47,0.2,1) + } else if (state === stateMinorIssue) { + _color = Qt.rgba(1.0,0.6,0.2,1) + } else if (state === stateMajorIssue) { + _color = Qt.rgba(0.92,0.22,0.22,1) + } else if (state === statePassed ) { + _color = Qt.rgba(0.27,0.67,0.42,1) + } else { + console.warn("Internal Error: invalid state", state) + } } + function resetNrClicks() { _nrClicked=0; updateItem(); -- 2.22.0