20 Q_MOC_INCLUDE(
"QmlObjectListModel.h")
21 Q_MOC_INCLUDE(
"QGCCachedTileSet.h")
24 Q_PROPERTY(ImportAction importAction READ importAction WRITE setImportAction NOTIFY
importActionChanged)
31 Q_PROPERTY(QStringList mapList READ mapList CONSTANT)
32 Q_PROPERTY(QStringList mapProviderList READ mapProviderList CONSTANT)
33 Q_PROPERTY(QStringList elevationProviderList READ elevationProviderList CONSTANT)
42 enum class ImportAction {
50 Q_INVOKABLE
bool exportSets(
const QString &path = QString());
51 Q_INVOKABLE
bool findName(
const QString &name)
const;
52 Q_INVOKABLE
bool importSets(
const QString &path = QString());
58 Q_INVOKABLE
bool importArchive(
const QString &archivePath);
59 Q_INVOKABLE QString getUniqueName()
const;
61 Q_INVOKABLE
void loadTileSets();
62 Q_INVOKABLE
void renameTileSet(
QGCCachedTileSet *tileSet,
const QString &newName);
63 Q_INVOKABLE
void resetAction() { setImportAction(ImportAction::ActionNone); }
64 Q_INVOKABLE
void selectAll();
65 Q_INVOKABLE
void selectNone();
66 Q_INVOKABLE
void startDownload(
const QString &name,
const QString &mapType);
67 Q_INVOKABLE
void updateForCurrentView(
double lon0,
double lat0,
double lon1,
double lat1,
int minZoom,
int maxZoom,
const QString &mapName);
69 Q_INVOKABLE
static QString loadSetting(
const QString &key,
const QString &defaultValue);
70 Q_INVOKABLE
static QStringList mapTypeList(
const QString &provider);
71 Q_INVOKABLE
static void saveSetting(
const QString &key,
const QString &value);
73 ImportAction importAction()
const {
return _importAction; }
74 int actionProgress()
const {
return _actionProgress; }
75 int selectedCount()
const;
77 QString errorMessage()
const {
return _errorMessage; }
78 QString tileCountStr()
const;
79 QString tileSizeStr()
const;
81 quint64 tileSize()
const {
return (_imageSet.
tileSize + _elevationSet.
tileSize); }
83 void setActionProgress(
int percentage) {
if (percentage != _actionProgress) { _actionProgress = percentage; emit
actionProgressChanged(); } }
85 void setImportAction(ImportAction action) {
if (action != _importAction) { _importAction = action; emit
importActionChanged(); } }
87 static QStringList mapList();
88 static QStringList mapProviderList();
89 static QStringList elevationProviderList();
107 void _actionCompleted();
108 void _actionProgressHandler(
int percentage) { setActionProgress(percentage); }
109 void _resetCompleted() { loadTileSets(); }
110 void _tileSetDeleted(quint64 setID);
113 void _updateTotals(quint32 totaltiles, quint64 totalsize, quint32 defaulttiles, quint64 defaultsize);
114 void _handleExtractionProgress(qreal progress);
115 void _handleExtractionFinished(
bool success);
121 ImportAction _importAction = ImportAction::ActionNone;
122 double _topleftLat = 0.;
123 double _topleftLon = 0.;
124 double _bottomRightLat = 0.;
125 double _bottomRightLon = 0.;
128 int _actionProgress = 0;
129 quint64 _setID = UINT64_MAX;
130 QString _errorMessage;
131 bool _fetchElevation =
true;
132 bool _importReplace =
false;
134 QString _extractionOutputDir;
136 static constexpr const char *kQmlOfflineMapKeyName =
"QGCOfflineMap";