diff options
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp | 9 | ||||
-rw-r--r-- | src/corelib/io/qabstractfileengine.cpp | 32 | ||||
-rw-r--r-- | src/corelib/io/qabstractfileengine_p.h | 6 | ||||
-rw-r--r-- | src/corelib/io/qdirlisting.cpp | 3 | ||||
-rw-r--r-- | src/corelib/io/qfsfileengine.cpp | 5 | ||||
-rw-r--r-- | src/corelib/io/qfsfileengine_iterator.cpp | 5 | ||||
-rw-r--r-- | src/corelib/io/qfsfileengine_iterator_p.h | 2 | ||||
-rw-r--r-- | src/corelib/io/qfsfileengine_p.h | 2 | ||||
-rw-r--r-- | src/corelib/io/qresource.cpp | 5 | ||||
-rw-r--r-- | src/corelib/io/qresource_iterator.cpp | 5 | ||||
-rw-r--r-- | src/corelib/io/qresource_iterator_p.h | 3 | ||||
-rw-r--r-- | src/corelib/io/qresource_p.h | 2 |
12 files changed, 37 insertions, 42 deletions
diff --git a/src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp b/src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp index f1315a78f0..394db15f9f 100644 --- a/src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp @@ -39,9 +39,10 @@ QAbstractSocketEngine *ZipEngineHandler::create(const QString &fileName) const //! [2] QAbstractFileEngine::IteratorUniquePtr -CustomFileEngine::beginEntryList(QDir::Filters filters, const QStringList &filterNames) +CustomFileEngine::beginEntryList(const QString &path, QDir::Filters filters, + const QStringList &filterNames) { - return std::make_unique<CustomFileEngineIterator>(filters, filterNames); + return std::make_unique<CustomFileEngineIterator>(path, filters, filterNames); } //! [2] @@ -50,8 +51,8 @@ CustomFileEngine::beginEntryList(QDir::Filters filters, const QStringList &filte class CustomIterator : public QAbstractFileEngineIterator { public: - CustomIterator(const QStringList &nameFilters, QDir::Filters filters) - : QAbstractFileEngineIterator(nameFilters, filters), index(0) + CustomIterator(const QString &path, const QStringList &nameFilters, QDir::Filters filters) + : QAbstractFileEngineIterator(path, nameFilters, filters), index(0) { // In a real iterator, these entries are fetched from the // file system based on the value of path(). diff --git a/src/corelib/io/qabstractfileengine.cpp b/src/corelib/io/qabstractfileengine.cpp index 55655adfc4..2ad732cf3b 100644 --- a/src/corelib/io/qabstractfileengine.cpp +++ b/src/corelib/io/qabstractfileengine.cpp @@ -902,10 +902,11 @@ bool QAbstractFileEngine::cloneTo(QAbstractFileEngine *target) Constructs a QAbstractFileEngineIterator, using the entry filters \a filters, and wildcard name filters \a nameFilters. */ -QAbstractFileEngineIterator::QAbstractFileEngineIterator(QDir::Filters filters, +QAbstractFileEngineIterator::QAbstractFileEngineIterator(const QString &path, QDir::Filters filters, const QStringList &nameFilters) : m_filters(filters), - m_nameFilters(nameFilters) + m_nameFilters(nameFilters), + m_path(appendSlashIfNeeded(path)) { } @@ -920,10 +921,8 @@ QAbstractFileEngineIterator::~QAbstractFileEngineIterator() /*! - Returns the path for this iterator. It can be set using setPath(). - Typically the path is passed to beginEntryList(), which sets the path. - - \note The path should't be changed once iteration begins. + Returns the path for this iterator. The path is set by beginEntryList(). + The path should't be changed once iteration begins. \sa nameFilters(), filters() */ @@ -933,17 +932,6 @@ QString QAbstractFileEngineIterator::path() const } /*! - \internal - - Sets the iterator path to \a path. This function is called from within - QDirListing. -*/ -void QAbstractFileEngineIterator::setPath(const QString &path) -{ - m_path = appendSlashIfNeeded(path); -} - -/*! Returns the name filters for this iterator. \sa QDir::nameFilters(), filters(), path() @@ -1027,16 +1015,18 @@ QFileInfo QAbstractFileEngineIterator::currentFileInfo() const */ /*! - Returns a QAbstractFileEngine::IteratorUniquePtr, that uses \a filters - for entry filtering and \a filterNames for name filtering. This function - is called by QDirListing to initiate directory iteration. + Returns a QAbstractFileEngine::IteratorUniquePtr, that can be used + to iterate over the entries in \a path, using \a filters for entry + filtering and \a filterNames for name filtering. This function is called + by QDirListing to initiate directory iteration. \sa QDirListing */ QAbstractFileEngine::IteratorUniquePtr -QAbstractFileEngine::beginEntryList(QDir::Filters filters, +QAbstractFileEngine::beginEntryList(const QString &path, QDir::Filters filters, const QStringList &filterNames) { + Q_UNUSED(path); Q_UNUSED(filters); Q_UNUSED(filterNames); return {}; diff --git a/src/corelib/io/qabstractfileengine_p.h b/src/corelib/io/qabstractfileengine_p.h index eef83fc46d..8d6a1b8a35 100644 --- a/src/corelib/io/qabstractfileengine_p.h +++ b/src/corelib/io/qabstractfileengine_p.h @@ -130,7 +130,7 @@ public: using IteratorUniquePtr = std::unique_ptr<Iterator>; virtual IteratorUniquePtr - beginEntryList(QDir::Filters filters, const QStringList &filterNames); + beginEntryList(const QString &path, QDir::Filters filters, const QStringList &filterNames); virtual IteratorUniquePtr endEntryList() { return {}; } virtual qint64 read(char *data, qint64 maxlen); @@ -198,13 +198,13 @@ public: class Q_CORE_EXPORT QAbstractFileEngineIterator { public: - QAbstractFileEngineIterator(QDir::Filters filters, const QStringList &nameFilters); + QAbstractFileEngineIterator(const QString &path, QDir::Filters filters, + const QStringList &nameFilters); virtual ~QAbstractFileEngineIterator(); virtual QString next() = 0; virtual bool hasNext() const = 0; - void setPath(const QString &path); QString path() const; QStringList nameFilters() const; QDir::Filters filters() const; diff --git a/src/corelib/io/qdirlisting.cpp b/src/corelib/io/qdirlisting.cpp index 8200366a5a..b673fa77e1 100644 --- a/src/corelib/io/qdirlisting.cpp +++ b/src/corelib/io/qdirlisting.cpp @@ -165,8 +165,7 @@ void QDirListingPrivate::pushDirectory(QDirEntryInfo &entryInfo) if (engine) { engine->setFileName(path); - if (auto it = engine->beginEntryList(filters, nameFilters)) { - it->setPath(path); + if (auto it = engine->beginEntryList(path, filters, nameFilters)) { fileEngineIterators.emplace(std::move(it)); } else { // No iterator; no entry list. diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index df8dd494ee..ee96e801f2 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -792,9 +792,10 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len) \internal */ QAbstractFileEngine::IteratorUniquePtr -QFSFileEngine::beginEntryList(QDir::Filters filters, const QStringList &filterNames) +QFSFileEngine::beginEntryList(const QString &path, QDir::Filters filters, + const QStringList &filterNames) { - return std::make_unique<QFSFileEngineIterator>(filters, filterNames); + return std::make_unique<QFSFileEngineIterator>(path, filters, filterNames); } #endif // QT_NO_FILESYSTEMITERATOR diff --git a/src/corelib/io/qfsfileengine_iterator.cpp b/src/corelib/io/qfsfileengine_iterator.cpp index c65b6e5d3e..f9d802b17f 100644 --- a/src/corelib/io/qfsfileengine_iterator.cpp +++ b/src/corelib/io/qfsfileengine_iterator.cpp @@ -9,8 +9,9 @@ QT_BEGIN_NAMESPACE -QFSFileEngineIterator::QFSFileEngineIterator(QDir::Filters filters, const QStringList &filterNames) - : QAbstractFileEngineIterator(filters, filterNames), +QFSFileEngineIterator::QFSFileEngineIterator(const QString &path, QDir::Filters filters, + const QStringList &filterNames) + : QAbstractFileEngineIterator(path, filters, filterNames), done(false) { } diff --git a/src/corelib/io/qfsfileengine_iterator_p.h b/src/corelib/io/qfsfileengine_iterator_p.h index 7980605fbd..4ad1bb0350 100644 --- a/src/corelib/io/qfsfileengine_iterator_p.h +++ b/src/corelib/io/qfsfileengine_iterator_p.h @@ -26,7 +26,7 @@ QT_BEGIN_NAMESPACE class QFSFileEngineIterator : public QAbstractFileEngineIterator { public: - QFSFileEngineIterator(QDir::Filters filters, const QStringList &filterNames); + QFSFileEngineIterator(const QString &path, QDir::Filters filters, const QStringList &filterNames); ~QFSFileEngineIterator(); QString next() override; diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h index a2dc699305..3cc3b43a0b 100644 --- a/src/corelib/io/qfsfileengine_p.h +++ b/src/corelib/io/qfsfileengine_p.h @@ -82,7 +82,7 @@ public: int handle() const override; #ifndef QT_NO_FILESYSTEMITERATOR - IteratorUniquePtr beginEntryList(QDir::Filters filters, + IteratorUniquePtr beginEntryList(const QString &path, QDir::Filters filters, const QStringList &filterNames) override; #endif diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp index d61846084a..dfc925b416 100644 --- a/src/corelib/io/qresource.cpp +++ b/src/corelib/io/qresource.cpp @@ -1535,9 +1535,10 @@ QDateTime QResourceFileEngine::fileTime(FileTime time) const \internal */ QAbstractFileEngine::IteratorUniquePtr -QResourceFileEngine::beginEntryList(QDir::Filters filters, const QStringList &filterNames) +QResourceFileEngine::beginEntryList(const QString &path, QDir::Filters filters, + const QStringList &filterNames) { - return std::make_unique<QResourceFileEngineIterator>(filters, filterNames); + return std::make_unique<QResourceFileEngineIterator>(path, filters, filterNames); } bool QResourceFileEngine::extension(Extension extension, const ExtensionOption *option, ExtensionReturn *output) diff --git a/src/corelib/io/qresource_iterator.cpp b/src/corelib/io/qresource_iterator.cpp index 58bdefdd20..c0f0106911 100644 --- a/src/corelib/io/qresource_iterator.cpp +++ b/src/corelib/io/qresource_iterator.cpp @@ -8,9 +8,10 @@ QT_BEGIN_NAMESPACE -QResourceFileEngineIterator::QResourceFileEngineIterator(QDir::Filters filters, +QResourceFileEngineIterator::QResourceFileEngineIterator(const QString &path, QDir::Filters filters, const QStringList &filterNames) - : QAbstractFileEngineIterator(filters, filterNames), index(-1) + : QAbstractFileEngineIterator(path, filters, filterNames), + index(-1) { } diff --git a/src/corelib/io/qresource_iterator_p.h b/src/corelib/io/qresource_iterator_p.h index 7bc546e44a..8a29ef0219 100644 --- a/src/corelib/io/qresource_iterator_p.h +++ b/src/corelib/io/qresource_iterator_p.h @@ -24,7 +24,8 @@ class QResourceFileEngineIteratorPrivate; class QResourceFileEngineIterator : public QAbstractFileEngineIterator { public: - QResourceFileEngineIterator(QDir::Filters filters, const QStringList &filterNames); + QResourceFileEngineIterator(const QString &path, QDir::Filters filters, + const QStringList &filterNames); ~QResourceFileEngineIterator(); QString next() override; diff --git a/src/corelib/io/qresource_p.h b/src/corelib/io/qresource_p.h index 01ff3c8c5f..4df37b4c0e 100644 --- a/src/corelib/io/qresource_p.h +++ b/src/corelib/io/qresource_p.h @@ -49,7 +49,7 @@ public: QDateTime fileTime(FileTime time) const override; - IteratorUniquePtr beginEntryList(QDir::Filters filters, + IteratorUniquePtr beginEntryList(const QString &path, QDir::Filters filters, const QStringList &filterNames) override; bool extension(Extension extension, const ExtensionOption *option = nullptr, ExtensionReturn *output = nullptr) override; |