33 Q_PROPERTY(QString archivePath READ archivePath WRITE setArchivePath NOTIFY
archivePathChanged)
37 Q_PROPERTY(QUrl archiveUrl READ archiveUrl WRITE setArchiveUrl NOTIFY
archivePathChanged)
58 Q_PROPERTY(FilterMode filterMode READ filterMode WRITE setFilterMode NOTIFY
filterModeChanged)
63 NameRole = Qt::UserRole + 1,
86 QString archivePath()
const {
return _archivePath; }
87 void setArchivePath(
const QString &path);
89 QUrl archiveUrl()
const {
return QUrl::fromLocalFile(_archivePath); }
90 void setArchiveUrl(
const QUrl &url);
92 int count()
const {
return static_cast<int>(_filteredEntries.size()); }
93 int fileCount()
const {
return _fileCount; }
94 int directoryCount()
const {
return _directoryCount; }
95 qint64 totalSize()
const {
return _totalSize; }
96 bool loading()
const {
return _loading; }
97 QString errorString()
const {
return _errorString; }
99 FilterMode filterMode()
const {
return _filterMode; }
100 void setFilterMode(FilterMode mode);
103 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
104 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
105 QHash<int, QByteArray> roleNames()
const override;
108 Q_INVOKABLE
void refresh();
111 Q_INVOKABLE
void clear();
114 Q_INVOKABLE QVariantMap get(
int index)
const;
117 Q_INVOKABLE
bool contains(
const QString &fileName)
const;
120 Q_INVOKABLE
static QString formatSize(qint64 bytes);
138 void _setLoading(
bool loading);
139 void _setErrorString(
const QString &
error);
141 QString _archivePath;
142 QList<QGCCompression::ArchiveEntry> _allEntries;
143 QList<QGCCompression::ArchiveEntry> _filteredEntries;
145 int _directoryCount = 0;
146 qint64 _totalSize = 0;
147 bool _loading =
false;
148 QString _errorString;
149 FilterMode _filterMode = AllEntries;