QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
NTRIPConnectionStatusRow.qml
Go to the documentation of this file.
1import QtQuick
2
3import QGroundControl
4import QGroundControl.Controls
5
6/// Status row specialized for an NTRIPManager. Bakes in the NTRIP
7/// connection-state → (status color, button label) mapping.
8ConnectionStatusRow {
9 id: root
10
11 required property var ntripManager
12
13 /// Caller-supplied gate for the connect button (e.g. "host field non-empty").
14 /// The Connecting state is still forced-disabled regardless of this flag.
15 property bool canConnect: true
16
17 QGCPalette { id: _pal }
18
19 buttonObjectName: "ntripConnectButton"
20 statusColor: {
21 if (!root.ntripManager) return _pal.colorGrey
22 switch (root.ntripManager.connectionStatus) {
23 case NTRIPManager.Connected: return _pal.colorGreen
24 case NTRIPManager.Connecting:
25 case NTRIPManager.Reconnecting: return _pal.colorOrange
26 case NTRIPManager.Error: return _pal.colorRed
27 default: return _pal.colorGrey
28 }
29 }
30 statusText: {
31 if (!root.ntripManager) return qsTr("Unavailable")
32 return root.ntripManager.statusMessage || qsTr("Disconnected")
33 }
34 buttonText: {
35 if (!root.ntripManager) return ""
36 switch (root.ntripManager.connectionStatus) {
37 case NTRIPManager.Connecting: return qsTr("Connecting…")
38 case NTRIPManager.Reconnecting: return qsTr("Reconnecting…")
39 case NTRIPManager.Connected: return qsTr("Disconnect")
40 default: return qsTr("Connect")
41 }
42 }
43 buttonEnabled: root.ntripManager
44 && root.ntripManager.connectionStatus !== NTRIPManager.Connecting
45 && root.canConnect
46}