198 [[nodiscard]] QString
icon()
const {
return m_icon.value();}
204 [[nodiscard]] QBindable<QString>
bindableIcon()
const {
return &m_icon;}
234 [[nodiscard]] QGeoCoordinate
mapCenter()
const {
return m_mapCenter.value();}
246 void setMapCenter(
const QGeoCoordinate& newMapCenter) {m_mapCenter = newMapCenter;}
300 [[nodiscard]] QString
statusString()
const {
return m_statusString.value();}
336 void approximateLastValidCoordinateChanged();
339 void mapCenterChanged();
345 void pressureAltitudeImplausibleChanged();
348 void receivingPositionInfoChanged(
bool);
353 void deferredInitialization();
356 void savePositionAndTrack();
362 QString computeStatusString();
365 static constexpr double minFlightSpeedInKT = 30.0;
367 static constexpr double flightSpeedHysteresis = 5.0;
370 static constexpr double EDTF_lat = 48.022653;
371 static constexpr double EDTF_lon = 7.832583;
372 static constexpr double EDTF_ele = 244;
378 QProperty<Positioning::PositionInfo> m_incomingPositionInfo;
383 void onIncomingPositionInfoUpdated();
384 QPropertyNotifier m_incomingPositionInfoNotifier;
387 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider, QGeoCoordinate, m_approximateLastValidCoordinate, &Positioning::PositionProvider::approximateLastValidCoordinateChanged);
388 QProperty<QGeoCoordinate> m_lastValidCoordinate {QGeoCoordinate(EDTF_lat, EDTF_lon, EDTF_ele)};
389 QProperty<Units::Angle> m_lastValidTT;
392 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider,
bool, m_receivingPositionInfo, &Positioning::PositionProvider::receivingPositionInfoChanged);
393 QProperty<QString> m_icon;
394 QProperty<QString> m_statusString;
396 QProperty<Units::Distance> m_pressureAltitude;
401 void updatePressureAltitudeImplausible();
402 QPropertyNotifier m_pressureAltitudeNotifier;
408 static constexpr qint64 pressureAltitudeImplausibleDwellTime_ms = 30*1000;
411 QElapsedTimer m_pressureAltitudeDivergenceTimer;
412 Q_OBJECT_BINDABLE_PROPERTY(
Positioning::PositionProvider,
bool, m_pressureAltitudeImplausible, &Positioning::PositionProvider::pressureAltitudeImplausibleChanged);