diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-05-23 17:33:01 +0200 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-05-23 17:33:01 +0200 |
| commit | 064ef4cfeb7307cae1cfbc640ca3c47e8032f365 (patch) | |
| tree | 2969f197f0d8c9ecbdb8ba7f4becdbabe32d7e0c /src/qdirfiletree.cpp | |
| parent | ee995b8df5a1b9c708a069e62f0e786ff359e76b (diff) | |
Update IFileTree implementations following uibase changes.
Diffstat (limited to 'src/qdirfiletree.cpp')
| -rw-r--r-- | src/qdirfiletree.cpp | 19 |
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 { |
