199 [[nodiscard]] QString
icon()
const {
return m_icon.value();}
205 [[nodiscard]] QBindable<QString>
bindableIcon()
const {
return &m_icon;}
235 [[nodiscard]] QGeoCoordinate
mapCenter()
const {
return m_mapCenter.value();}
247 void setMapCenter(
const QGeoCoordinate& newMapCenter) {m_mapCenter = newMapCenter;}
301 [[nodiscard]] QString
statusString()
const {
return m_statusString.value();}
349 void approximateLastValidCoordinateChanged();
352 void mapCenterChanged();
358 void pressureAltitudeImplausibleChanged();
361 void receivingPositionInfoChanged(
bool);
366 void deferredInitialization();
369 void savePositionAndTrack();
375 QSet<QString> m_backgroundUpdateCallers;
376 void updateBackgroundLocation();
380 QString computeStatusString();
383 static constexpr double minFlightSpeedInKT = 30.0;
385 static constexpr double flightSpeedHysteresis = 5.0;
388 static constexpr double EDTF_lat = 48.022653;
389 static constexpr double EDTF_lon = 7.832583;
390 static constexpr double EDTF_ele = 244;
396 QProperty<Positioning::PositionInfo> m_incomingPositionInfo;
401 void onIncomingPositionInfoUpdated();
402 QPropertyNotifier m_incomingPositionInfoNotifier;
405 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider, QGeoCoordinate, m_approximateLastValidCoordinate, &Positioning::PositionProvider::approximateLastValidCoordinateChanged);
406 QProperty<QGeoCoordinate> m_lastValidCoordinate {QGeoCoordinate(EDTF_lat, EDTF_lon, EDTF_ele)};
407 QProperty<Units::Angle> m_lastValidTT;
410 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider,
bool, m_receivingPositionInfo, &Positioning::PositionProvider::receivingPositionInfoChanged);
411 QProperty<QString> m_icon;
412 QProperty<QString> m_statusString;
414 QProperty<Units::Distance> m_pressureAltitude;
419 void updatePressureAltitudeImplausible();
420 QPropertyNotifier m_pressureAltitudeNotifier;
426 static constexpr qint64 pressureAltitudeImplausibleDwellTime_ms = 30LL*1000;
429 QElapsedTimer m_pressureAltitudeDivergenceTimer;
430 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider,
bool, m_pressureAltitudeImplausible, &Positioning::PositionProvider::pressureAltitudeImplausibleChanged);