24#include <QStandardPaths>
26#include "FlightRoute.h"
27#include "GlobalObject.h"
28#include "navigation/FlightRoute.h"
29#include "navigation/RemainingRouteInfo.h"
31using namespace Qt::Literals::StringLiterals;
80 static Navigation::
Navigator* create(QQmlEngine* , QJSEngine* )
97 [[nodiscard]] QBindable<Navigation::Aircraft> bindableAircraft() {
return &m_aircraft; }
107 [[nodiscard]] QBindable<bool> bindableHasAviationMapForCurrentLocation() {
return &m_hasAviationMapForCurrentLocation;}
128 [[nodiscard]] QBindable<Navigation::RemainingRouteInfo> bindableRemainingRouteInfo() {
return &m_remainingRouteInfo;}
158 void updateAltitudeLimit();
161 void updateFlightStatus();
164 void updateRemainingRouteInfo();
172 QProperty<bool> m_hasAviationMapForCurrentLocation {
false};
173 bool computeHasAviationMapForCurrentLocation();
179 FlightStatus m_flightStatus {
Unknown};
181 QProperty<Aircraft> m_aircraft {};
183 QPointer<FlightRoute> m_flightRoute {
nullptr};
184 const QString m_flightRouteFileName {QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + u
"/flight route.geojson"_s};
186 Weather::Wind m_wind {};
188 QString m_aircraftFileName;
190 QProperty<RemainingRouteInfo> m_remainingRouteInfo;
static Q_INVOKABLE Navigation::Navigator * navigator()
Pointer to appplication-wide static Navigation::Navigator instance.
GlobalObject(QObject *parent=nullptr)
Standard constructor.
This extremely simple class holds a few numbers that describe an aircraft.
FlightStatus flightStatus
Estimate whether the device is flying or on the ground.
bool hasAviationMapForCurrentLocation
Indicates whether an aviation map is installed for the current location.
Navigator(QObject *parent=nullptr)
Standard constructor.
void flightStatusChanged()
Notifier signal.
FlightStatus
FlightStatus.
void aircraftChanged()
Notifier signal.
void deferredInitialization() override
Non-constructor initialization.
Weather::Wind wind
Current wind.
Navigation::RemainingRouteInfo remainingRouteInfo
Up-to-date information about the remaining route.
Navigation::FlightRoute * flightRoute
Current flight route.
Navigation::Aircraft aircraft
Current aircraft.
void airspaceAltitudeLimitAdjusted()
Emitted when the airspaceAltitudeLimit is adjusted.
void windChanged()
Notifier signal.
Info about remaining route.
static Q_INVOKABLE constexpr Units::Speed fromKN(double speedInKT)
Constructs a speed.
This extremely simple class holds the wind speed and direction.