|
|
|
@ -10,6 +10,7 @@
@@ -10,6 +10,7 @@
|
|
|
|
|
import QtQuick 2.11 |
|
|
|
|
import QtQuick.Controls 2.4 |
|
|
|
|
import QtQuick.Layouts 1.11 |
|
|
|
|
import QtQuick.Dialogs 1.3 |
|
|
|
|
|
|
|
|
|
import QGroundControl 1.0 |
|
|
|
|
import QGroundControl.Controls 1.0 |
|
|
|
@ -26,24 +27,46 @@ Item {
@@ -26,24 +27,46 @@ Item {
|
|
|
|
|
anchors.bottom: parent.bottom |
|
|
|
|
|
|
|
|
|
property bool _light: qgcPal.globalTheme === QGCPalette.Light && !activeVehicle |
|
|
|
|
property real _contentWidth: ScreenTools.defaultFontPixelWidth * 40 |
|
|
|
|
property real _contentWidth: ScreenTools.defaultFontPixelWidth * 34 |
|
|
|
|
property real _contentSpacing: ScreenTools.defaultFontPixelHeight * 0.5 |
|
|
|
|
property real _rectWidth: _contentWidth |
|
|
|
|
property real _rectHeight: _contentWidth * 0.75 |
|
|
|
|
|
|
|
|
|
property string kPairingManager: qsTr("Pairing Manager") |
|
|
|
|
|
|
|
|
|
function runPairing() { |
|
|
|
|
QGroundControl.pairingManager.firstBoot = false |
|
|
|
|
if(QGroundControl.pairingManager.pairedDeviceNameList.length > 0) { |
|
|
|
|
connectionPopup.open() |
|
|
|
|
} else { |
|
|
|
|
mhPopup.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Connections { |
|
|
|
|
target: QGroundControl.pairingManager |
|
|
|
|
//-- Connect automatically once paired |
|
|
|
|
onPairingStatusChanged: { |
|
|
|
|
if(QGroundControl.pairingManager.pairingStatus === PairingManager.PairingSuccess) { |
|
|
|
|
if(QGroundControl.pairingManager.pairedVehicle !== "") { |
|
|
|
|
QGroundControl.pairingManager.connectToPairedDevice(QGroundControl.pairingManager.pairedVehicle) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Row { |
|
|
|
|
id: pairingRow |
|
|
|
|
spacing: ScreenTools.defaultFontPixelWidth |
|
|
|
|
anchors.top: parent.top |
|
|
|
|
anchors.bottom: parent.bottom |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
Image { |
|
|
|
|
QGCColoredImage { |
|
|
|
|
id: pairingIcon |
|
|
|
|
height: parent.height |
|
|
|
|
width: height |
|
|
|
|
source: _light ? "/qmlimages/PairingIconLight.svg" : "/qmlimages/PairingIcon.svg" |
|
|
|
|
color: qgcPal.text |
|
|
|
|
source: "/qmlimages/PairingIcon.svg" |
|
|
|
|
sourceSize.width: width |
|
|
|
|
fillMode: Image.PreserveAspectFit |
|
|
|
|
smooth: true |
|
|
|
@ -62,89 +85,7 @@ Item {
@@ -62,89 +85,7 @@ Item {
|
|
|
|
|
MouseArea { |
|
|
|
|
anchors.fill: parent |
|
|
|
|
onClicked: { |
|
|
|
|
if(QGroundControl.pairingManager.pairedDeviceNameList.length > 1) { |
|
|
|
|
connectionPopup.open() |
|
|
|
|
} else { |
|
|
|
|
if(QGroundControl.pairingManager.pairingLinkTypeStrings.length > 1) |
|
|
|
|
pairingPopup.open() |
|
|
|
|
else { |
|
|
|
|
mhPopup.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//------------------------------------------------------------------------- |
|
|
|
|
//-- Pairing |
|
|
|
|
Popup { |
|
|
|
|
id: pairingPopup |
|
|
|
|
width: pairingBody.width |
|
|
|
|
height: pairingBody.height |
|
|
|
|
modal: true |
|
|
|
|
focus: true |
|
|
|
|
parent: Overlay.overlay |
|
|
|
|
x: Math.round((mainWindow.width - width) * 0.5) |
|
|
|
|
y: Math.round((mainWindow.height - height) * 0.5) |
|
|
|
|
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside |
|
|
|
|
background: Rectangle { |
|
|
|
|
anchors.fill: parent |
|
|
|
|
color: qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(1,1,1,0.95) : Qt.rgba(0,0,0,0.75) |
|
|
|
|
radius: ScreenTools.defaultFontPixelWidth * 0.25 |
|
|
|
|
} |
|
|
|
|
Item { |
|
|
|
|
id: pairingBody |
|
|
|
|
width: comboListCol.width + (ScreenTools.defaultFontPixelWidth * 8) |
|
|
|
|
height: comboListCol.height + (ScreenTools.defaultFontPixelHeight * 2) |
|
|
|
|
anchors.centerIn: parent |
|
|
|
|
Column { |
|
|
|
|
id: comboListCol |
|
|
|
|
spacing: _contentSpacing |
|
|
|
|
anchors.centerIn: parent |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
QGCLabel { |
|
|
|
|
text: kPairingManager |
|
|
|
|
font.family: ScreenTools.demiboldFontFamily |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
Rectangle { |
|
|
|
|
width: _rectWidth |
|
|
|
|
height: _rectHeight |
|
|
|
|
color: Qt.rgba(0,0,0,0) |
|
|
|
|
border.color: qgcPal.text |
|
|
|
|
border.width: 1 |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
QGCLabel { |
|
|
|
|
text: "Pair Graphic" |
|
|
|
|
anchors.centerIn: parent |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Please choose a pairing method in order to connect to a nearby device") |
|
|
|
|
width: _contentWidth |
|
|
|
|
wrapMode: Text.WordWrap |
|
|
|
|
horizontalAlignment: Text.AlignHCenter |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
Repeater { |
|
|
|
|
model: QGroundControl.pairingManager ? QGroundControl.pairingManager.pairingLinkTypeStrings : [] |
|
|
|
|
delegate: QGCButton { |
|
|
|
|
text: modelData |
|
|
|
|
width: _contentWidth |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
pairingPopup.close() |
|
|
|
|
if (index === QGroundControl.pairingManager.nfcIndex) { |
|
|
|
|
nfcPopup.open() |
|
|
|
|
} else if (index === QGroundControl.pairingManager.microhardIndex) { |
|
|
|
|
mhPopup.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
} |
|
|
|
|
runPairing() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//------------------------------------------------------------------------- |
|
|
|
@ -177,37 +118,42 @@ Item {
@@ -177,37 +118,42 @@ Item {
|
|
|
|
|
QGCLabel { |
|
|
|
|
text: kPairingManager |
|
|
|
|
font.family: ScreenTools.demiboldFontFamily |
|
|
|
|
font.pointSize: ScreenTools.mediumFontPointSize |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Rectangle { |
|
|
|
|
width: _contentWidth |
|
|
|
|
height: 1 |
|
|
|
|
color: qgcPal.globalTheme !== QGCPalette.Light ? Qt.rgba(1,1,1,0.25) : Qt.rgba(0,0,0,0.25) |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("To connect to your vehicle, please click 3 times on the button in order to put the vehicle in a discovery mode") |
|
|
|
|
text: qsTr("To connect to your vehicle, please click on the pairing button in order to put the vehicle in discovery mode") |
|
|
|
|
width: _contentWidth |
|
|
|
|
wrapMode: Text.WordWrap |
|
|
|
|
horizontalAlignment: Text.AlignHCenter |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
Rectangle { |
|
|
|
|
width: _rectWidth |
|
|
|
|
height: _rectHeight |
|
|
|
|
color: Qt.rgba(0,0,0,0) |
|
|
|
|
border.color: qgcPal.text |
|
|
|
|
border.width: 1 |
|
|
|
|
Item { width: 1; height: ScreenTools.defaultFontPixelHeight * 2; } |
|
|
|
|
QGCColoredImage { |
|
|
|
|
height: ScreenTools.defaultFontPixelHeight * 6 |
|
|
|
|
width: height |
|
|
|
|
source: "/qmlimages/PairingButton.svg" |
|
|
|
|
sourceSize.height: height |
|
|
|
|
fillMode: Image.PreserveAspectFit |
|
|
|
|
mipmap: true |
|
|
|
|
smooth: true |
|
|
|
|
color: qgcPal.text |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
QGCLabel { |
|
|
|
|
text: "Button Positioning Graphic" |
|
|
|
|
anchors.centerIn: parent |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
Item { width: 1; height: ScreenTools.defaultFontPixelHeight * 2; } |
|
|
|
|
QGCButton { |
|
|
|
|
text: qsTr("Pair Via Microhard") |
|
|
|
|
text: qsTr("Pair a Vehicle") |
|
|
|
|
width: _contentWidth |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
mhPopup.close() |
|
|
|
|
connectionPopup.open() |
|
|
|
|
progressPopup.open() |
|
|
|
|
QGroundControl.pairingManager.startMicrohardPairing(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -245,8 +191,14 @@ Item {
@@ -245,8 +191,14 @@ Item {
|
|
|
|
|
QGCLabel { |
|
|
|
|
text: kPairingManager |
|
|
|
|
font.family: ScreenTools.demiboldFontFamily |
|
|
|
|
font.pointSize: ScreenTools.mediumFontPointSize |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Rectangle { |
|
|
|
|
width: _contentWidth |
|
|
|
|
height: 1 |
|
|
|
|
color: qgcPal.globalTheme !== QGCPalette.Light ? Qt.rgba(1,1,1,0.25) : Qt.rgba(0,0,0,0.25) |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
Rectangle { |
|
|
|
|
width: _rectWidth |
|
|
|
@ -275,7 +227,7 @@ Item {
@@ -275,7 +227,7 @@ Item {
|
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
nfcPopup.close() |
|
|
|
|
connectionPopup.open() |
|
|
|
|
progressPopup.open() |
|
|
|
|
QGroundControl.pairingManager.startNFCScan(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -284,11 +236,11 @@ Item {
@@ -284,11 +236,11 @@ Item {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//------------------------------------------------------------------------- |
|
|
|
|
//-- Connection Manager |
|
|
|
|
//-- Pairing/Connection Progress |
|
|
|
|
Popup { |
|
|
|
|
id: connectionPopup |
|
|
|
|
width: connectionBody.width |
|
|
|
|
height: connectionBody.height |
|
|
|
|
id: progressPopup |
|
|
|
|
width: progressBody.width |
|
|
|
|
height: progressBody.height |
|
|
|
|
modal: true |
|
|
|
|
focus: true |
|
|
|
|
parent: Overlay.overlay |
|
|
|
@ -301,22 +253,24 @@ Item {
@@ -301,22 +253,24 @@ Item {
|
|
|
|
|
radius: ScreenTools.defaultFontPixelWidth * 0.25 |
|
|
|
|
} |
|
|
|
|
Item { |
|
|
|
|
id: connectionBody |
|
|
|
|
width: connectionCol.width + (ScreenTools.defaultFontPixelWidth * 8) |
|
|
|
|
height: connectionCol.height + (ScreenTools.defaultFontPixelHeight * 2) |
|
|
|
|
id: progressBody |
|
|
|
|
width: progressCol.width + (ScreenTools.defaultFontPixelWidth * 8) |
|
|
|
|
height: progressCol.height + (ScreenTools.defaultFontPixelHeight * 2) |
|
|
|
|
anchors.centerIn: parent |
|
|
|
|
Column { |
|
|
|
|
id: connectionCol |
|
|
|
|
id: progressCol |
|
|
|
|
spacing: _contentSpacing |
|
|
|
|
anchors.centerIn: parent |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
QGCLabel { |
|
|
|
|
text: kPairingManager |
|
|
|
|
font.family: ScreenTools.demiboldFontFamily |
|
|
|
|
font.pointSize: ScreenTools.mediumFontPointSize |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
QGCLabel { |
|
|
|
|
text: QGroundControl.pairingManager ? QGroundControl.pairingManager.pairingStatusStr : "" |
|
|
|
|
visible: !connectedIndicator.visible |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Rectangle { |
|
|
|
@ -325,9 +279,11 @@ Item {
@@ -325,9 +279,11 @@ Item {
|
|
|
|
|
color: qgcPal.globalTheme !== QGCPalette.Light ? Qt.rgba(1,1,1,0.25) : Qt.rgba(0,0,0,0.25) |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
//-- Pairing/Connecting |
|
|
|
|
Item { width: 1; height: ScreenTools.defaultFontPixelHeight * 3; visible: busyIndicator.visible; } |
|
|
|
|
QGCColoredImage { |
|
|
|
|
id: busyIndicator |
|
|
|
|
height: ScreenTools.defaultFontPixelHeight * 2 |
|
|
|
|
height: ScreenTools.defaultFontPixelHeight * 4 |
|
|
|
|
width: height |
|
|
|
|
source: "/qmlimages/MapSync.svg" |
|
|
|
|
sourceSize.height: height |
|
|
|
@ -335,7 +291,7 @@ Item {
@@ -335,7 +291,7 @@ Item {
|
|
|
|
|
mipmap: true |
|
|
|
|
smooth: true |
|
|
|
|
color: qgcPal.text |
|
|
|
|
visible: cancelButton.visible |
|
|
|
|
visible: QGroundControl.pairingManager.pairingStatus === PairingManager.PairingActive || QGroundControl.pairingManager.pairingStatus === PairingManager.PairingConnecting |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
RotationAnimation on rotation { |
|
|
|
|
loops: Animation.Infinite |
|
|
|
@ -345,6 +301,132 @@ Item {
@@ -345,6 +301,132 @@ Item {
|
|
|
|
|
running: busyIndicator.visible |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: ScreenTools.defaultFontPixelHeight * 3; visible: busyIndicator.visible; } |
|
|
|
|
//-- Error State |
|
|
|
|
Image { |
|
|
|
|
height: ScreenTools.defaultFontPixelHeight * 4 |
|
|
|
|
width: height |
|
|
|
|
source: "/qmlimages/PairingError.svg" |
|
|
|
|
sourceSize.height: height |
|
|
|
|
fillMode: Image.PreserveAspectFit |
|
|
|
|
mipmap: true |
|
|
|
|
smooth: true |
|
|
|
|
visible: QGroundControl.pairingManager.errorState |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
//-- Connection Successful |
|
|
|
|
Image { |
|
|
|
|
id: connectedIndicator |
|
|
|
|
height: width * 0.2 |
|
|
|
|
width: _contentWidth |
|
|
|
|
source: "/qmlimages/PairingConnected.svg" |
|
|
|
|
sourceSize.height: height |
|
|
|
|
fillMode: Image.PreserveAspectFit |
|
|
|
|
mipmap: true |
|
|
|
|
smooth: true |
|
|
|
|
visible: QGroundControl.pairingManager.pairingStatus === PairingManager.PairingConnected |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: _contentSpacing; visible: connectedIndicator.visible; } |
|
|
|
|
QGCLabel { |
|
|
|
|
text: QGroundControl.pairingManager.pairedVehicle |
|
|
|
|
visible: connectedIndicator.visible |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("Connection Successful") |
|
|
|
|
visible: connectedIndicator.visible |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: _contentSpacing; } |
|
|
|
|
//-- Buttons |
|
|
|
|
QGCButton { |
|
|
|
|
width: _contentWidth |
|
|
|
|
visible: QGroundControl.pairingManager ? (QGroundControl.pairingManager.pairingStatus === PairingManager.PairingConnected) : false |
|
|
|
|
text: qsTr("Done") |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
progressPopup.close() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
QGCButton { |
|
|
|
|
text: qsTr("Pair Another") |
|
|
|
|
width: _contentWidth |
|
|
|
|
visible: QGroundControl.pairingManager ? (QGroundControl.pairingManager.pairingStatus === PairingManager.PairingConnected) : false |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
progressPopup.close() |
|
|
|
|
mhPopup.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
QGCButton { |
|
|
|
|
text: qsTr("Try Again") |
|
|
|
|
width: _contentWidth |
|
|
|
|
visible: QGroundControl.pairingManager ? QGroundControl.pairingManager.errorState : false |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
progressPopup.close() |
|
|
|
|
runPairing() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
QGCButton { |
|
|
|
|
id: cancelButton |
|
|
|
|
width: _contentWidth |
|
|
|
|
visible: QGroundControl.pairingManager ? (QGroundControl.pairingManager.pairingStatus === PairingManager.PairingActive || QGroundControl.pairingManager.pairingStatus === PairingManager.PairingConnecting || QGroundControl.pairingManager.errorState) : false |
|
|
|
|
text: qsTr("Cancel") |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
if(QGroundControl.pairingManager.pairingStatus === PairingManager.PairingActive) |
|
|
|
|
QGroundControl.pairingManager.stopPairing() |
|
|
|
|
else { |
|
|
|
|
//-- TODO: Cancel connection to paired device |
|
|
|
|
} |
|
|
|
|
progressPopup.close() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//------------------------------------------------------------------------- |
|
|
|
|
//-- Connection Manager |
|
|
|
|
Popup { |
|
|
|
|
id: connectionPopup |
|
|
|
|
width: connectionBody.width |
|
|
|
|
height: connectionBody.height |
|
|
|
|
modal: true |
|
|
|
|
focus: true |
|
|
|
|
parent: Overlay.overlay |
|
|
|
|
x: Math.round((mainWindow.width - width) * 0.5) |
|
|
|
|
y: Math.round((mainWindow.height - height) * 0.5) |
|
|
|
|
closePolicy: cancelButton.visible ? Popup.NoAutoClose : (Popup.CloseOnEscape | Popup.CloseOnPressOutside) |
|
|
|
|
background: Rectangle { |
|
|
|
|
anchors.fill: parent |
|
|
|
|
color: qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(1,1,1,0.95) : Qt.rgba(0,0,0,0.75) |
|
|
|
|
radius: ScreenTools.defaultFontPixelWidth * 0.25 |
|
|
|
|
} |
|
|
|
|
Item { |
|
|
|
|
id: connectionBody |
|
|
|
|
width: connectionCol.width + (ScreenTools.defaultFontPixelWidth * 8) |
|
|
|
|
height: connectionCol.height + (ScreenTools.defaultFontPixelHeight * 2) |
|
|
|
|
anchors.centerIn: parent |
|
|
|
|
Column { |
|
|
|
|
id: connectionCol |
|
|
|
|
spacing: _contentSpacing |
|
|
|
|
anchors.centerIn: parent |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
QGCLabel { |
|
|
|
|
text: kPairingManager |
|
|
|
|
font.family: ScreenTools.demiboldFontFamily |
|
|
|
|
font.pointSize: ScreenTools.mediumFontPointSize |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
} |
|
|
|
|
Rectangle { |
|
|
|
|
width: _contentWidth |
|
|
|
|
height: 1 |
|
|
|
|
color: qgcPal.globalTheme !== QGCPalette.Light ? Qt.rgba(1,1,1,0.25) : Qt.rgba(0,0,0,0.25) |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|
QGCLabel { |
|
|
|
|
text: qsTr("List Of Available Devices") |
|
|
|
|
visible: QGroundControl.pairingManager ? (QGroundControl.pairingManager.pairedDeviceNameList.length > 0 && !cancelButton.visible) : false |
|
|
|
@ -358,9 +440,9 @@ Item {
@@ -358,9 +440,9 @@ Item {
|
|
|
|
|
rowSpacing: ScreenTools.defaultFontPixelHeight * 0.25 |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
Repeater { |
|
|
|
|
model: QGroundControl.pairingManager ? QGroundControl.pairingManager.pairedDeviceNameList : [] |
|
|
|
|
model: QGroundControl.pairingManager ? QGroundControl.pairingManager.pairedDeviceNameList : [] |
|
|
|
|
QGCLabel { |
|
|
|
|
text: modelData |
|
|
|
|
text: modelData |
|
|
|
|
Layout.row: index |
|
|
|
|
Layout.column: 0 |
|
|
|
|
Layout.minimumWidth:ScreenTools.defaultFontPixelWidth * 14 |
|
|
|
@ -368,18 +450,20 @@ Item {
@@ -368,18 +450,20 @@ Item {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Repeater { |
|
|
|
|
model: QGroundControl.pairingManager ? QGroundControl.pairingManager.pairedDeviceNameList : [] |
|
|
|
|
model: QGroundControl.pairingManager ? QGroundControl.pairingManager.pairedDeviceNameList : [] |
|
|
|
|
QGCButton { |
|
|
|
|
text: qsTr("Connect") |
|
|
|
|
Layout.row: index |
|
|
|
|
Layout.column: 1 |
|
|
|
|
onClicked: { |
|
|
|
|
QGroundControl.pairingManager.connectToPairedDevice(modelData) |
|
|
|
|
connectionPopup.close() |
|
|
|
|
progressPopup.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Repeater { |
|
|
|
|
model: QGroundControl.pairingManager ? QGroundControl.pairingManager.pairedDeviceNameList : [] |
|
|
|
|
model: QGroundControl.pairingManager ? QGroundControl.pairingManager.pairedDeviceNameList : [] |
|
|
|
|
QGCColoredImage { |
|
|
|
|
height: ScreenTools.defaultFontPixelHeight * 1.5 |
|
|
|
|
width: height |
|
|
|
@ -391,7 +475,18 @@ Item {
@@ -391,7 +475,18 @@ Item {
|
|
|
|
|
MouseArea { |
|
|
|
|
anchors.fill: parent |
|
|
|
|
onClicked: { |
|
|
|
|
//-- TODO: |
|
|
|
|
removePrompt.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
MessageDialog { |
|
|
|
|
id: removePrompt |
|
|
|
|
title: qsTr("Remove Paired Vehicle") |
|
|
|
|
text: qsTr("Confirm removing %1?").arg(modelData) |
|
|
|
|
standardButtons: StandardButton.Yes | StandardButton.No |
|
|
|
|
onNo: removePrompt.close() |
|
|
|
|
onYes: { |
|
|
|
|
QGroundControl.pairingManager.removePairedDevice(modelData) |
|
|
|
|
removePrompt.close() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -399,10 +494,8 @@ Item {
@@ -399,10 +494,8 @@ Item {
|
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: _contentSpacing; } |
|
|
|
|
QGCButton { |
|
|
|
|
id: connectedButton |
|
|
|
|
width: _contentWidth |
|
|
|
|
visible: QGroundControl.pairingManager ? (QGroundControl.pairingManager.pairingStatus === PairingManager.PairingConnected || QGroundControl.pairingManager.pairingStatus === PairingManager.PairingIdle) : false |
|
|
|
|
text: QGroundControl.pairingManager ? (QGroundControl.pairingManager.pairingStatus === PairingManager.PairingConnected ? qsTr("Done ") : qsTr("Close")) : "" |
|
|
|
|
text: qsTr("Close") |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
connectionPopup.close() |
|
|
|
@ -411,39 +504,10 @@ Item {
@@ -411,39 +504,10 @@ Item {
|
|
|
|
|
QGCButton { |
|
|
|
|
text: qsTr("Pair Another") |
|
|
|
|
width: _contentWidth |
|
|
|
|
visible: connectedButton.visible |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
connectionPopup.close() |
|
|
|
|
if(QGroundControl.pairingManager.pairingLinkTypeStrings.length > 1) |
|
|
|
|
pairingPopup.open() |
|
|
|
|
else { |
|
|
|
|
mhPopup.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
QGCButton { |
|
|
|
|
id: cancelButton |
|
|
|
|
width: _contentWidth |
|
|
|
|
visible: QGroundControl.pairingManager ? (QGroundControl.pairingManager.pairingStatus === PairingManager.PairingActive || QGroundControl.pairingManager.pairingStatus === PairingManager.PairingConnecting) : false |
|
|
|
|
text: qsTr("Cancel") |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
if(QGroundControl.pairingManager.pairingStatus === PairingManager.PairingActive) |
|
|
|
|
QGroundControl.pairingManager.stopPairing() |
|
|
|
|
else { |
|
|
|
|
//-- TODO: Cancel connection to paired device |
|
|
|
|
} |
|
|
|
|
connectionPopup.close() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
QGCButton { |
|
|
|
|
visible: !cancelButton.visible && !connectedButton.visible |
|
|
|
|
text: qsTr("Close") |
|
|
|
|
width: _contentWidth |
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter |
|
|
|
|
onClicked: { |
|
|
|
|
connectionPopup.close() |
|
|
|
|
mhPopup.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Item { width: 1; height: 1; } |
|
|
|
|