/****************************************************************************
 *
 *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
 *
 * 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

import QGroundControl               1.0
import QGroundControl.FlightDisplay 1.0
import QGroundControl.ScreenTools   1.0
import QGroundControl.Controls      1.0
import QGroundControl.Palette       1.0
import QGroundControl.Vehicle       1.0

PreFlightCheckModel {
    PreFlightCheckGroup {
        name: qsTr("Initial checks")

        // Standard check list items (group 0) - Available from the start
        PreFlightCheckButton {
            name:           qsTr("Hardware")
            manualText:     qsTr("Props mounted? Wings secured? Tail secured?")
        }

        PreFlightBatteryCheck {
            failurePercent:                 40
            allowFailurePercentOverride:    false
        }

        PreFlightSensorsHealthCheck {
        }

        PreFlightGPSCheck {
            failureSatCount:        9
            allowOverrideSatCount:  true
        }

        PreFlightRCCheck {
        }
    }

    PreFlightCheckGroup {
        name: qsTr("Please arm the vehicle here")

        PreFlightCheckButton {
            name:            qsTr("Actuators")
            manualText:      qsTr("Move all control surfaces. Did they work properly?")
        }

        PreFlightCheckButton {
            name:            qsTr("Motors")
            manualText:      qsTr("Propellers free? Then throttle up gently. Working properly?")
        }

        PreFlightCheckButton {
            name:        qsTr("Mission")
            manualText:  qsTr("Please confirm mission is valid (waypoints valid, no terrain collision).")
        }

        PreFlightSoundCheck {
        }
    }

    PreFlightCheckGroup {
        name: qsTr("Last preparations before launch")

        // Check list item group 2 - Final checks before launch
        PreFlightCheckButton {
            name:        qsTr("Payload")
            manualText:  qsTr("Configured and started? Payload lid closed?")
        }

        PreFlightCheckButton {
            name:        "Wind & weather"
            manualText:  qsTr("OK for your platform? Lauching into the wind?")
        }

        PreFlightCheckButton {
            name:        qsTr("Flight area")
            manualText:  qsTr("Launch area and path free of obstacles/people?")
        }
    }
} // Object Model
