Browse Source

Merge pull request #6994 from DonLakeFlyer/PreFlight

PreFlight: Reset not working correctly
QGC4.4
Don Gagne 7 years ago committed by GitHub
parent
commit
6104850665
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      src/FirmwarePlugin/FirmwarePlugin.cc
  2. 2
      src/QmlControls/PreFlightCheckGroup.qml
  3. 42
      src/QmlControls/PreFlightCheckList.qml

4
src/FirmwarePlugin/FirmwarePlugin.cc

@ -717,9 +717,7 @@ void FirmwarePlugin::_versionFileDownloadFinished(QString& remoteFile, QString& @@ -717,9 +717,7 @@ void FirmwarePlugin::_versionFileDownloadFinished(QString& remoteFile, QString&
int currType = vehicle->firmwareVersionType();
// Check if lower version than stable or same version but different type
if (vehicle->versionCompare(version) < 0
|| (vehicle->versionCompare(version) == 0 && currType != FIRMWARE_VERSION_TYPE_OFFICIAL))
{
if (currType == FIRMWARE_VERSION_TYPE_OFFICIAL && vehicle->versionCompare(version) < 0) {
const static QString currentVersion = QString("%1.%2.%3").arg(vehicle->firmwareMajorVersion())
.arg(vehicle->firmwareMinorVersion())
.arg(vehicle->firmwarePatchVersion());

2
src/QmlControls/PreFlightCheckGroup.qml

@ -22,7 +22,7 @@ Column { @@ -22,7 +22,7 @@ Column {
property alias _checked: header.checked
onPassedChanged: parent.groupPassedChanged(ObjectModel.index)
onPassedChanged: parent.groupPassedChanged(ObjectModel.index, passed)
Component.onCompleted: {
enabled = _checked

42
src/QmlControls/PreFlightCheckList.qml

@ -23,31 +23,31 @@ Rectangle { @@ -23,31 +23,31 @@ Rectangle {
property alias model: checkListRepeater.model
property bool _passed: false
property bool _passed: false
// We delay the updates when a group passes so the user can see all items green for a moment prior to hiding
Timer {
id: delayedGroupPassed
interval: 750
property int index
onTriggered: {
function _handleGroupPassedChanged(index, passed) {
if (passed) {
// Collapse current group
var group = checkListRepeater.itemAt(index)
group._checked = false
// Expand next group
if (index + 1 < checkListRepeater.count) {
group = checkListRepeater.itemAt(index + 1)
group.enabled = true
group._checked = true
}
for (var i=0; i<checkListRepeater.count; i++) {
if (!checkListRepeater.itemAt(i).passed) {
_passed = false
return
}
}
_passed = true
}
_passed = passed
}
// We delay the updates when a group passes so the user can see all items green for a moment prior to hiding
Timer {
id: delayedGroupPassed
interval: 750
property int index
onTriggered: _handleGroupPassedChanged(index, true /* passed */)
}
Column {
@ -59,9 +59,13 @@ Rectangle { @@ -59,9 +59,13 @@ Rectangle {
anchors.topMargin: 0.6*ScreenTools.defaultFontPixelWidth
anchors.leftMargin: 1.5*ScreenTools.defaultFontPixelWidth
function groupPassedChanged(index) {
delayedGroupPassed.index = index
delayedGroupPassed.restart()
function groupPassedChanged(index, passed) {
if (passed) {
delayedGroupPassed.index = index
delayedGroupPassed.restart()
} else {
_handleGroupPassedChanged(index, passed)
}
}
// Header/title of checklist

Loading…
Cancel
Save