37 Q_INTERFACES(QQmlParserStatus)
41 Q_PROPERTY(QUrl folder READ folder WRITE setFolder NOTIFY folderChanged FINAL)
42 Q_PROPERTY(QUrl rootFolder READ rootFolder WRITE setRootFolder NOTIFY rootFolderChanged FINAL)
43 Q_PROPERTY(QUrl parentFolder READ parentFolder NOTIFY folderChanged FINAL)
44 Q_PROPERTY(QStringList nameFilters READ nameFilters WRITE setNameFilters NOTIFY nameFilterChanged FINAL)
45 Q_PROPERTY(SortField sortField READ sortField WRITE setSortField NOTIFY sortFieldChanged FINAL)
46 Q_PROPERTY(
bool sortReversed READ sortReversed WRITE setSortReversed NOTIFY sortReversedChanged FINAL)
47 Q_PROPERTY(
bool showFiles READ showFiles WRITE setShowFiles NOTIFY showFilesChanged REVISION(2, 1) FINAL)
48 Q_PROPERTY(
bool showDirs READ showDirs WRITE setShowDirs NOTIFY showDirsChanged FINAL)
49 Q_PROPERTY(
bool showDirsFirst READ showDirsFirst WRITE setShowDirsFirst NOTIFY showDirsFirstChanged FINAL)
50 Q_PROPERTY(
bool showDotAndDotDot READ showDotAndDotDot WRITE setShowDotAndDotDot NOTIFY showDotAndDotDotChanged FINAL)
51 Q_PROPERTY(
bool showDot READ showDot WRITE setShowDot NOTIFY showDotChanged REVISION(6, 12))
52 Q_PROPERTY(
bool showDotDot READ showDotDot WRITE setShowDotDot NOTIFY showDotDotChanged REVISION(6, 12))
53 Q_PROPERTY(
bool showHidden READ showHidden WRITE setShowHidden NOTIFY showHiddenChanged REVISION(2, 1) FINAL)
54 Q_PROPERTY(
bool showOnlyReadable READ showOnlyReadable WRITE setShowOnlyReadable NOTIFY showOnlyReadableChanged FINAL)
55 Q_PROPERTY(
bool caseSensitive READ caseSensitive WRITE setCaseSensitive NOTIFY caseSensitiveChanged REVISION(2, 2) FINAL)
56 Q_PROPERTY(
int count READ count NOTIFY countChanged FINAL)
57 Q_PROPERTY(Status status READ status NOTIFY statusChanged REVISION(2, 11) FINAL)
58 Q_PROPERTY(
bool sortCaseSensitive READ sortCaseSensitive WRITE setSortCaseSensitive NOTIFY sortCaseSensitiveChanged REVISION(2, 12) FINAL)
61 QML_NAMED_ELEMENT(FolderListModel)
62 QML_ADDED_IN_VERSION(1, 0)
65 QQuickFolderListModel(QObject *parent =
nullptr);
66 ~QQuickFolderListModel();
69 FileNameRole = Qt::UserRole + 1,
70 FilePathRole = Qt::UserRole + 2,
71 FileBaseNameRole = Qt::UserRole + 3,
72 FileSuffixRole = Qt::UserRole + 4,
73 FileSizeRole = Qt::UserRole + 5,
74 FileLastModifiedRole = Qt::UserRole + 6,
75 FileLastReadRole = Qt::UserRole +7,
76 FileIsDirRole = Qt::UserRole + 8,
77 FileUrlRole = Qt::UserRole + 9,
80 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
81 QModelIndex index(
int row,
int column = 0,
const QModelIndex &parent = QModelIndex())
const override;
82 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
83 QHash<
int, QByteArray> roleNames()
const override;
87 int count()
const {
return rowCount(QModelIndex()); }
92 void setFolder(
const QUrl &folder);
93 QUrl rootFolder()
const;
94 void setRootFolder(
const QUrl &path);
96 QUrl parentFolder()
const;
98 QStringList nameFilters()
const;
99 void setNameFilters(
const QStringList &filters);
101 enum SortField { Unsorted, Name, Time, Size, Type };
103 SortField sortField()
const;
104 void setSortField(SortField field);
106 bool sortReversed()
const;
107 void setSortReversed(
bool rev);
109 bool showFiles()
const;
110 void setShowFiles(
bool showFiles);
111 bool showDirs()
const;
112 void setShowDirs(
bool showDirs);
113 bool showDirsFirst()
const;
114 void setShowDirsFirst(
bool showDirsFirst);
115 bool showDotAndDotDot()
const;
116 void setShowDotAndDotDot(
bool on);
117 bool showDot()
const;
118 void setShowDot(
bool on);
119 bool showDotDot()
const;
120 void setShowDotDot(
bool on);
121 bool showHidden()
const;
122 void setShowHidden(
bool on);
123 bool showOnlyReadable()
const;
124 void setShowOnlyReadable(
bool on);
125 bool caseSensitive()
const;
126 void setCaseSensitive(
bool on);
128 enum Status { Null, Ready, Loading };
130 Status status()
const;
131 bool sortCaseSensitive()
const;
132 void setSortCaseSensitive(
bool on);
135 Q_INVOKABLE
bool isFolder(
int index)
const;
136 Q_INVOKABLE QVariant get(
int idx,
const QString &property)
const;
137 Q_INVOKABLE
int indexOf(
const QUrl &file)
const;
140 void classBegin() override;
141 void componentComplete() override;
144 int roleFromString(
const QString &roleName)
const;
148 void folderChanged();
149 void rowCountChanged()
const;
150 void rootFolderChanged();
151 void nameFilterChanged();
152 void sortFieldChanged();
153 void sortReversedChanged();
154 void showFilesChanged();
155 void showDirsChanged();
156 void showDirsFirstChanged();
157 void showDotAndDotDotChanged();
158 Q_REVISION(6, 12)
void showDotChanged();
159 Q_REVISION(6, 12)
void showDotDotChanged();
160 void showHiddenChanged();
161 void showOnlyReadableChanged();
162 void caseSensitiveChanged();
163 void sortCaseSensitiveChanged();
165 Q_REVISION(2, 1)
void countChanged()
const;
166 Q_REVISION(2, 11)
void statusChanged();
174 Q_DISABLE_COPY(QQuickFolderListModel)
175 Q_DECLARE_PRIVATE(QQuickFolderListModel)
176 QScopedPointer<QQuickFolderListModelPrivate> d_ptr;
178 Q_PRIVATE_SLOT(d_func(),
void _q_directoryChanged(
const QString &directory,
const QList<FileProperty> &list))
179 Q_PRIVATE_SLOT(d_func(),
void _q_directoryUpdated(
const QString &directory,
const QList<FileProperty> &list,
int fromIndex,
int toIndex))
180 Q_PRIVATE_SLOT(d_func(),
void _q_sortFinished(
const QList<FileProperty> &list))
181 Q_PRIVATE_SLOT(d_func(),
void _q_statusChanged(QQuickFolderListModel::Status s))