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);
375 void deferredInitialization();
378 void savePositionAndTrack();
384 QSet<QString> m_backgroundUpdateCallers;
385 void updateBackgroundLocation();
389 QString computeStatusString();
392 static constexpr double minFlightSpeedInKT = 30.0;
394 static constexpr double flightSpeedHysteresis = 5.0;
397 static constexpr double EDTF_lat = 48.022653;
398 static constexpr double EDTF_lon = 7.832583;
399 static constexpr double EDTF_ele = 244;
405 QProperty<Positioning::PositionInfo> m_incomingPositionInfo;
410 void onIncomingPositionInfoUpdated();
411 QPropertyNotifier m_incomingPositionInfoNotifier;
414 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider, QGeoCoordinate, m_approximateLastValidCoordinate, &Positioning::PositionProvider::approximateLastValidCoordinateChanged);
415 QProperty<QGeoCoordinate> m_lastValidCoordinate {QGeoCoordinate(EDTF_lat, EDTF_lon, EDTF_ele)};
416 QProperty<Units::Angle> m_lastValidTT;
419 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider,
bool, m_receivingPositionInfo, &Positioning::PositionProvider::receivingPositionInfoChanged);
420 QProperty<QString> m_icon;
421 QProperty<QString> m_statusString;
423 QProperty<Units::Distance> m_pressureAltitude;
428 void updatePressureAltitudeImplausible();
429 QPropertyNotifier m_pressureAltitudeNotifier;
435 static constexpr qint64 pressureAltitudeImplausibleDwellTime_ms = 30LL*1000;
438 QElapsedTimer m_pressureAltitudeDivergenceTimer;
439 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider,
bool, m_pressureAltitudeImplausible, &Positioning::PositionProvider::pressureAltitudeImplausibleChanged);