summaryrefslogtreecommitdiff
path: root/src/qdirfiletree.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-05-23 17:33:01 +0200
committerMikaël Capelle <capelle.mikael@gmail.com>2020-05-23 17:33:01 +0200
commit064ef4cfeb7307cae1cfbc640ca3c47e8032f365 (patch)
tree2969f197f0d8c9ecbdb8ba7f4becdbabe32d7e0c /src/qdirfiletree.cpp
parentee995b8df5a1b9c708a069e62f0e786ff359e76b (diff)
Update IFileTree implementations following uibase changes.
Diffstat (limited to 'src/qdirfiletree.cpp')
-rw-r--r--src/qdirfiletree.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/qdirfiletree.cpp b/src/qdirfiletree.cpp
index 5570060a..e80c7127 100644
--- a/src/qdirfiletree.cpp
+++ b/src/qdirfiletree.cpp
@@ -14,9 +14,7 @@ std::shared_ptr<const QDirFileTree> QDirFileTree::makeTree(QDir directory) {
/**
*
*/
-QDirFileTree::QDirFileTree(std::shared_ptr<const IFileTree> parent, QDir directory) : FileTreeEntry(parent, directory.dirName()), IFileTree(), qDir(directory) {
- qDir.setFilter(qDir.filter() | QDir::NoDotAndDotDot);
-}
+QDirFileTree::QDirFileTree(std::shared_ptr<const IFileTree> parent, QDir directory) : FileTreeEntry(parent, directory.dirName()), IFileTree(), qDir(directory) { }
/**
* No mutable operations allowed.
@@ -24,21 +22,22 @@ QDirFileTree::QDirFileTree(std::shared_ptr<const IFileTree> parent, QDir directo
bool QDirFileTree::beforeReplace(IFileTree const* dstTree, FileTreeEntry const* destination, FileTreeEntry const* source) { return false; }
bool QDirFileTree::beforeInsert(IFileTree const* entry, FileTreeEntry const* name) { return false; }
bool QDirFileTree::beforeRemove(IFileTree const* entry, FileTreeEntry const* name) { return false; }
-std::shared_ptr<FileTreeEntry> QDirFileTree::makeFile(std::shared_ptr<const IFileTree> parent, QString name, QDateTime time) const { return nullptr; }
+std::shared_ptr<FileTreeEntry> QDirFileTree::makeFile(std::shared_ptr<const IFileTree> parent, QString name) const { return nullptr; }
std::shared_ptr<IFileTree> QDirFileTree::makeDirectory(std::shared_ptr<const IFileTree> parent, QString name) const { return nullptr; }
-void QDirFileTree::doPopulate(std::shared_ptr<const IFileTree> parent, std::vector<std::shared_ptr<FileTreeEntry>>& entries) const {
- QDirIterator iter(qDir);
- while (iter.hasNext()) {
- QString name = iter.next();
- QFileInfo info = iter.fileInfo();
+bool QDirFileTree::doPopulate(std::shared_ptr<const IFileTree> parent, std::vector<std::shared_ptr<FileTreeEntry>>& entries) const {
+ auto infoList = qDir.entryInfoList(qDir.filter() | QDir::NoDotAndDotDot, QDir::Name | QDir::DirsFirst | QDir::IgnoreCase);
+ for (auto& info : infoList) {
if (info.isDir()) {
entries.push_back(std::shared_ptr<QDirFileTree>(new QDirFileTree(parent, QDir(info.absoluteFilePath()))));
}
else {
- entries.push_back(createFileEntry(parent, info.fileName(), info.fileTime(QFileDevice::FileModificationTime)));
+ entries.push_back(createFileEntry(parent, info.fileName()));
}
}
+
+ // Vector is already sorted:
+ return true;
}
std::shared_ptr<IFileTree> QDirFileTree::doClone() const {