1 #ifndef OSMSCOUT_CLIENT_QT_AVAILABLEMAPSMODEL_H 2 #define OSMSCOUT_CLIENT_QT_AVAILABLEMAPSMODEL_H 23 #include <QAbstractListModel> 24 #include <QNetworkAccessManager> 25 #include <QNetworkDiskCache> 26 #include <QNetworkReply> 40 Q_PROPERTY(
bool valid READ isValid() CONSTANT)
41 Q_PROPERTY(QString name READ getName() CONSTANT)
42 Q_PROPERTY(QStringList path READ getPath() CONSTANT)
43 Q_PROPERTY(QString description READ getDescription() CONSTANT)
55 valid(true), name(name), path(path), description(description){};
59 valid(o.valid), name(o.name), path(o.path), description(o.description){};
92 virtual bool isDirectory()
const = 0;
123 Q_PROPERTY(quint64 byteSize READ getSize() CONSTANT)
124 Q_PROPERTY(QString size READ getSizeHuman() CONSTANT)
125 Q_PROPERTY(QString serverDirectory READ getServerDirectory() CONSTANT)
126 Q_PROPERTY(QDateTime time READ getCreation() CONSTANT)
127 Q_PROPERTY(
int version READ getVersion() CONSTANT)
132 QString serverDirectory;
137 AvailableMapsModelMap() =
default;
140 uint64_t size,
const QString &serverDirectory,
const QDateTime &creation,
int version):
141 AvailableMapsModelItem(name, path, description), provider(provider), size(size), serverDirectory(serverDirectory),
142 creation(creation), version(version) {};
156 uint64_t getSize()
const;
157 QString getSizeHuman()
const;
158 QString getServerDirectory()
const;
159 QDateTime getCreation()
const;
160 int getVersion()
const;
189 Q_PROPERTY(
bool loading READ isLoading NOTIFY loadingChanged)
190 Q_PROPERTY(QString fetchError READ getFetchError NOTIFY loadingChanged)
193 void loadingChanged();
196 void listDownloaded(const
MapProvider &provider, QNetworkReply*);
205 NameRole = Qt::UserRole,
206 PathRole = Qt::UserRole+1,
207 DirRole = Qt::UserRole+2,
208 ServerDirectoryRole = Qt::UserRole+3,
209 TimeRole = Qt::UserRole+4,
210 VersionRole = Qt::UserRole+5,
211 ByteSizeRole = Qt::UserRole+6,
212 ProviderUriRole = Qt::UserRole+7,
213 DescriptionRole = Qt::UserRole+8,
214 SizeRole = Qt::UserRole+9,
215 MapRole = Qt::UserRole+10,
219 Q_INVOKABLE
int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
220 Q_INVOKABLE
int columnCount(
const QModelIndex &parent = QModelIndex())
const override;
221 Q_INVOKABLE QModelIndex index(
int row,
int column = 0,
const QModelIndex &parent = QModelIndex())
const override;
222 Q_INVOKABLE QModelIndex parent(
const QModelIndex &index)
const override;
224 Q_INVOKABLE QVariant data(
const QModelIndex &index,
int role)
const override;
225 QHash<int, QByteArray> roleNames()
const override;
226 Q_INVOKABLE Qt::ItemFlags flags(
const QModelIndex &index)
const override;
228 Q_INVOKABLE QVariant map(
const QModelIndex &index)
const;
237 Q_INVOKABLE QVariant timeOfMap(QStringList path);
238 Q_INVOKABLE QObject* mapByPath(QStringList path);
250 QList<AvailableMapsModelItem *> findChildrenByPath(QStringList dir)
const;
252 QNetworkAccessManager webCtrl;
253 QNetworkDiskCache diskCache;
254 QList<MapProvider> mapProviders;
256 QList<AvailableMapsModelItem*> items;
Definition: MapProvider.h:38
#define OSMSCOUT_CLIENT_QT_API
Definition: ClientQtImportExport.h:45
AvailableMapsModelDir(const QString &name, const QList< QString > &path, const QString &description)
Definition: AvailableMapsModel.h:103
QString getName() const
Definition: AvailableMapsModel.h:72
bool isLoading() const
Definition: AvailableMapsModel.h:240
bool isDirectory() const override
Definition: AvailableMapsModel.h:148
AvailableMapsModelItem(const AvailableMapsModelItem &o)
Definition: AvailableMapsModel.h:57
QString name
Definition: AvailableMapsModel.h:41
QStringList path
Definition: AvailableMapsModel.h:42
AvailableMapsModelMap(const QString &name, const QList< QString > &path, const QString &description, const MapProvider &provider, uint64_t size, const QString &serverDirectory, const QDateTime &creation, int version)
Definition: AvailableMapsModel.h:139
AvailableMapsModelItem(const QString &name, const QStringList &path, const QString &description)
Definition: AvailableMapsModel.h:54
QStringList getPath() const
Definition: AvailableMapsModel.h:77
bool isDirectory() const override
Definition: AvailableMapsModel.h:110
Definition: AvailableMapsModel.h:99
Roles
Definition: AvailableMapsModel.h:204
AvailableMapsModelItem & operator=(const AvailableMapsModelItem &o)
Definition: AvailableMapsModel.h:63
Definition: AvailableMapsModel.h:120
Definition: AvailableMapsModel.h:186
bool valid
Definition: AvailableMapsModel.h:40
QString getDescription() const
Definition: AvailableMapsModel.h:82
QString description
Definition: AvailableMapsModel.h:43
Definition: AvailableMapsModel.h:37
QString getFetchError() const
Definition: AvailableMapsModel.h:244
bool isValid() const
Definition: AvailableMapsModel.h:87