diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index 29536c9..1d4ec4f 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -91,6 +91,7 @@
src/QmlControls/PreFlightCheckButton.qml
src/QmlControls/PreFlightCheckGroup.qml
src/QmlControls/PreFlightCheckList.qml
+ src/QmlControls/PreFlightCheckModel.qml
src/QmlControls/QGCButton.qml
src/QmlControls/QGCCheckBox.qml
src/QmlControls/QGCColoredImage.qml
@@ -155,7 +156,7 @@
src/FlightDisplay/GuidedAltitudeSlider.qml
src/FlightDisplay/MultiVehicleList.qml
src/FlightDisplay/PreFlightBatteryCheck.qml
- src/FlightDisplay/PreFlightCheckModel.qml
+ src/FlightDisplay/BuiltInPreFlightCheckModel.qml
src/FlightDisplay/PreFlightGPSCheck.qml
src/FlightDisplay/PreFlightRCCheck.qml
src/FlightDisplay/PreFlightSensorsHealthCheck.qml
diff --git a/src/FlightDisplay/PreFlightCheckModel.qml b/src/FlightDisplay/BuiltInPreFlightCheckModel.qml
similarity index 99%
rename from src/FlightDisplay/PreFlightCheckModel.qml
rename to src/FlightDisplay/BuiltInPreFlightCheckModel.qml
index 1800ba5..c39a639 100644
--- a/src/FlightDisplay/PreFlightCheckModel.qml
+++ b/src/FlightDisplay/BuiltInPreFlightCheckModel.qml
@@ -17,7 +17,7 @@ import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
import QGroundControl.Vehicle 1.0
-ObjectModel {
+PreFlightCheckModel {
PreFlightCheckGroup {
name: qsTr("Initial checks")
diff --git a/src/FlightDisplay/FlightDisplayView.qml b/src/FlightDisplay/FlightDisplayView.qml
index 8212ac8..7126411 100644
--- a/src/FlightDisplay/FlightDisplayView.qml
+++ b/src/FlightDisplay/FlightDisplayView.qml
@@ -112,7 +112,7 @@ QGCView {
Component.onCompleted: start(true /* flyView */)
}
- PreFlightCheckModel {
+ BuiltInPreFlightCheckModel {
id: preFlightCheckModel
}
diff --git a/src/FlightDisplay/qmldir b/src/FlightDisplay/qmldir
index 4bcf077..f37894a 100644
--- a/src/FlightDisplay/qmldir
+++ b/src/FlightDisplay/qmldir
@@ -10,7 +10,7 @@ GuidedActionList 1.0 GuidedActionList.qml
GuidedAltitudeSlider 1.0 GuidedAltitudeSlider.qml
MultiVehicleList 1.0 MultiVehicleList.qml
PreFlightBatteryCheck 1.0 PreFlightBatteryCheck.qml
-PreFlightCheckModel 1.0 PreFlightCheckModel.qml
+BuiltInPreFlightCheckModel 1.0 BuiltInPreFlightCheckModel.qml
PreFlightGPSCheck 1.0 PreFlightGPSCheck.qml
PreFlightRCCheck 1.0 PreFlightRCCheck.qml
PreFlightSensorsHealthCheck 1.0 PreFlightSensorsHealthCheck.qml
diff --git a/src/QmlControls/PreFlightCheckList.qml b/src/QmlControls/PreFlightCheckList.qml
index 043a3d9..b37caf1 100644
--- a/src/QmlControls/PreFlightCheckList.qml
+++ b/src/QmlControls/PreFlightCheckList.qml
@@ -25,17 +25,6 @@ Rectangle {
property bool _passed: false
- function reset() {
- for (var i=0; i 0)
tooltip: qsTr("Reset the checklist (e.g. after a vehicle reboot)")
- onClicked: reset()
+ onClicked: model.reset()
Image { source:"/qmlimages/MapSyncBlack.svg" ; anchors.fill: parent }
}
diff --git a/src/QmlControls/PreFlightCheckModel.qml b/src/QmlControls/PreFlightCheckModel.qml
new file mode 100644
index 0000000..c7cfab0
--- /dev/null
+++ b/src/QmlControls/PreFlightCheckModel.qml
@@ -0,0 +1,27 @@
+/****************************************************************************
+ *
+ * (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
+
+ObjectModel {
+ id: _root
+
+ function reset() {
+ for (var i=0; i<_root.count; i++) {
+ var group = _root.get(i)
+ group.reset()
+ group.enabled = i === 0
+ group._checked = i === 0
+ }
+ }
+
+ Component.onCompleted: reset()
+
+}
diff --git a/src/QmlControls/QGroundControl.Controls.qmldir b/src/QmlControls/QGroundControl.Controls.qmldir
index 9631682..cac9e41 100644
--- a/src/QmlControls/QGroundControl.Controls.qmldir
+++ b/src/QmlControls/QGroundControl.Controls.qmldir
@@ -37,6 +37,7 @@ PlanToolBar 1.0 PlanToolBar.qml
PreFlightCheckButton 1.0 PreFlightCheckButton.qml
PreFlightCheckGroup 1.0 PreFlightCheckGroup.qml
PreFlightCheckList 1.0 PreFlightCheckList.qml
+PreFlightCheckModel 1.0 PreFlightCheckModel.qml
QGCButton 1.0 QGCButton.qml
QGCCheckBox 1.0 QGCCheckBox.qml
QGCColoredImage 1.0 QGCColoredImage.qml