21#ifndef LAUNCHERCONTROLLER_HXX
22#define LAUNCHERCONTROLLER_HXX
30#include <simgear/package/Package.hxx>
31#include <simgear/package/Catalog.hxx>
105 void initQML(
int& styleTypeId);
124 Q_INVOKABLE QPointF
mapToGlobal(QQuickItem* item, const QPointF& pos) const;
130 Q_INVOKABLE
bool matchesSearch(QString term, QStringList keywords) const;
136 return m_settingsSearchTerm;
176 {
return m_aircraftModel; }
182 {
return m_location; }
196 {
return m_aircraftType; }
204 return m_minWindowSize;
213 return m_aircraftGridMode;
223 return m_launchCount;
228 return m_versionLaunchCount;
275 void onAircraftInstalledCompleted(QModelIndex index);
276 void onAircraftInstallFailed(QModelIndex index, QString errorMessage);
279 void restoreAircraft();
281 void checkForOldDownloadDir();
288 void maybeUpdateSelectedAircraft(QModelIndex index);
289 void updateSelectedAircraft();
292 simgear::pkg::PackageRef packageForAircraftURI(QUrl uri)
const;
296 void delayedAircraftModelReset();
298 void collectAircraftArgs();
300 QString selectAircraftStateAutomatically();
301 bool haveOldWindowsDownloadDir()
const;
304 QWindow* m_window =
nullptr;
317 QUrl m_selectedAircraft;
318 QString m_aircraftState;
320 int m_ratingFilters[4] = {3, 3, 3, 3};
323 QString m_settingsSearchTerm;
324 QStringList m_settingsSummary, m_environmentSummary;
327 QSize m_minWindowSize;
328 QTimer* m_subsystemIdleTimer =
nullptr;
330 bool m_inAppMode =
false;
331 bool m_keepRunningInAppMode =
false;
332 bool m_appModeResult =
true;
333 bool m_aircraftGridMode;
334 int m_launchCount = 0;
335 int m_versionLaunchCount = 0;
336 bool m_flyRequested =
false;
337 bool m_skipAircraftFromArgs =
false;
Q_INVOKABLE QVariant loadUISetting(QString name, QVariant defaultValue) const
LocationController * location
LocationController * location() const
FlightPlanController * flightPlan
QStringList settingsSummary
AircraftProxyModel * searchAircraftModel
RecentAircraftModel * aircraftHistory
Q_INVOKABLE QUrl urlToDataPath(QString relPath) const
urlToDataPath - convetr a FGData path into a gloabl file:/// URL suitable for Qt.openExternally()
Q_INVOKABLE void requestInstallUpdate(QUrl aircraftUri)
bool keepRunningInAppMode() const
Q_INVOKABLE void launchUrl(QUrl url)
Q_INVOKABLE QPointF mapToGlobal(QQuickItem *item, const QPointF &pos) const
void setSettingsSummary(QStringList settingsSummary)
void skipAircraftFromArgsChanged()
Q_INVOKABLE void requestUpdateAllAircraft()
void setEnvironmentSummary(QStringList environmentSummary)
QString selectedAircraftState
void initialRestoreSettings()
AircraftProxyModel * aircraftWithUpdatesModel
Q_INVOKABLE void requestInstallCancel(QUrl aircraftUri)
bool aircraftGridMode() const
LaunchConfig * config() const
void setSelectedAircraft(QUrl selectedAircraft)
QmlAircraftInfo * selectedAircraftInfo
Q_INVOKABLE bool matchesSearch(QString term, QStringList keywords) const
Q_INVOKABLE QVariantList defaultSplashUrls() const
void selectedAircraftStateChanged()
void aircraftGridModeChanged(bool aircraftGridMode)
void installedAircraftCountChanged(int installedAircraftCount)
AircraftItemModel * baseAircraftModel
QStringList environmentSummary
Q_INVOKABLE void downloadDirChanged(QString path)
AircraftProxyModel * installedAircraftModel
void minWindowSizeChanged()
QString settingsSearchTerm
void requestChangeDataPath()
AircraftType aircraftType
AircraftProxyModel * favouriteAircraftModel
RecentAircraftModel * aircraftHistory()
int versionLaunchCount() const
void selectedAircraftChanged(QUrl selectedAircraft)
Q_INVOKABLE void requestUninstall(QUrl aircraftUri)
void initQML(int &styleTypeId)
RecentLocationsModel * locationHistory()
QStringList combinedSummary
Q_INVOKABLE void queryMPServers()
void resetGettingStartedTips()
bool skipAircraftFromArgs
RecentLocationsModel * locationHistory
MPServersModel * mpServersModel
AircraftItemModel * baseAircraftModel() const
QSize minWindowSize() const
Q_INVOKABLE void restoreLocation(QVariant var)
void didResetGettingStartedTips()
Q_INVOKABLE bool validateMetarString(QString metar)
void setMinWindowSize(QSize sz)
void setAircraftGridMode(bool aircraftGridMode)
void setSettingsSearchTerm(QString settingsSearchTerm)
AircraftProxyModel * browseAircraftModel
void requestRestoreDefaults()
LauncherController(QObject *parent, QWindow *win)
Q_INVOKABLE void saveUISetting(QString name, QVariant value) const