CenterMapDropPanel.qml 2.9 KB
Newer Older
1 2 3 4 5 6 7 8 9
/****************************************************************************
 *
 *   (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.
 *
 ****************************************************************************/

10 11
import QtQuick          2.7
import QtQuick.Controls 2.1
12
import QtQuick.Layouts  1.3
Don Gagne's avatar
Don Gagne committed
13
import QtPositioning    5.5
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

import QGroundControl               1.0
import QGroundControl.ScreenTools   1.0
import QGroundControl.Controls      1.0
import QGroundControl.Palette       1.0

ColumnLayout {
    id:         root
    spacing:    ScreenTools.defaultFontPixelWidth * 0.5

    property var    map
    property var    fitFunctions
    property bool   showMission:          true
    property bool   showAllItems:         true
    property bool   showFollowVehicle:    false
    property bool   followVehicle:        false

    property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle

    QGCLabel { text: qsTr("Center map on:") }

    QGCButton {
        text:               qsTr("Mission")
        Layout.fillWidth:   true
        visible:            showMission
        enabled:            !followVehicleCheckBox.checked

        onClicked: {
            dropPanel.hide()
            fitFunctions.fitMapViewportToMissionItems()
        }
    }

    QGCButton {
        text:               qsTr("All items")
        Layout.fillWidth:   true
        visible:            showAllItems
        enabled:            !followVehicleCheckBox.checked

        onClicked: {
            dropPanel.hide()
            fitFunctions.fitMapViewportToAllItems()
        }
    }

    QGCButton {
        text:               qsTr("Home")
        Layout.fillWidth:   true
        enabled:            !followVehicleCheckBox.checked

        onClicked: {
            dropPanel.hide()
            map.center = fitFunctions.fitHomePosition()
        }
    }

    QGCButton {
        text:               qsTr("Current Location")
        Layout.fillWidth:   true
        enabled:            mainWindow.gcsPosition.isValid && !followVehicleCheckBox.checked

        onClicked: {
            dropPanel.hide()
            map.center = mainWindow.gcsPosition
        }
    }

    QGCButton {
        text:               qsTr("Vehicle")
        Layout.fillWidth:   true
        enabled:            _activeVehicle && _activeVehicle.latitude != 0 && _activeVehicle.longitude != 0 && !followVehicleCheckBox.checked

        onClicked: {
            dropPanel.hide()
            map.center = activeVehicle.coordinate
        }
    }

    QGCCheckBox {
        id:         followVehicleCheckBox
        text:       qsTr("Follow Vehicle")
        checked:    followVehicle
        visible:    showFollowVehicle

        onClicked:  {
            dropPanel.hide()
100
            root.followVehicle = checked
101 102 103
        }
    }
} // Column