4import QGroundControl.Controls
6/// Status row specialized for an NTRIPManager. Bakes in the NTRIP
7/// connection-state → (status color, button label) mapping.
11 required property var ntripManager
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
17 QGCPalette { id: _pal }
19 buttonObjectName: "ntripConnectButton"
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
31 if (!root.ntripManager) return qsTr("Unavailable")
32 return root.ntripManager.statusMessage || qsTr("Disconnected")
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")
43 buttonEnabled: root.ntripManager
44 && root.ntripManager.connectionStatus !== NTRIPManager.Connecting