QAbstractFileEngine: remove beginEntryList(QDir::Filters)

It was kept so as not to break compilation of user code (overriding a
function that doesn't exist in the base class). But as Marcus Tillmanns
pointed out in a qtcreator code review, it can't work because
QDirListing calls the virutal
engine->beginEntryList(QDirListing::IteratorFlags).

Removing beginEntryList(QDir::Filters) and getting a compile-timer error
is better than the code failing silently in user code (all sub-classes
of QAbstractFileEngine in qtbase have been already ported).

QDir::entryList() isn't affected because it calls
QAbstractFileEngine::entryList() which has an overload that works with
QDir::Filters.

Pick-to: 6.8
Change-Id: I3cb18402f602ac78a6b29be57e59febb2b9db7c0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Ahmad Samir 2024-09-11 17:03:28 +03:00
parent c5933597ad
commit 4fecfcc867
7 changed files with 1 additions and 32 deletions

View File

@ -1033,16 +1033,6 @@ QFileInfo QAbstractFileEngineIterator::currentFileInfo() const
\sa QDirListing
*/
QAbstractFileEngine::IteratorUniquePtr
QAbstractFileEngine::beginEntryList(const QString &path, QDir::Filters filters,
const QStringList &filterNames)
{
Q_UNUSED(path);
Q_UNUSED(filters);
Q_UNUSED(filterNames);
return {};
}
QAbstractFileEngine::IteratorUniquePtr
QAbstractFileEngine::beginEntryList(const QString &path, QDirListing::IteratorFlags filters,
const QStringList &filterNames)

View File

@ -127,10 +127,7 @@ public:
typedef QAbstractFileEngineIterator Iterator;
using IteratorUniquePtr = std::unique_ptr<Iterator>;
virtual IteratorUniquePtr
beginEntryList(const QString &path, QDir::Filters filters, const QStringList &filterNames);
virtual IteratorUniquePtr endEntryList() { return {}; }
virtual IteratorUniquePtr
beginEntryList(const QString &path, QDirListing::IteratorFlags filters,
const QStringList &filterNames);

View File

@ -792,13 +792,6 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len)
/*!
\internal
*/
QAbstractFileEngine::IteratorUniquePtr
QFSFileEngine::beginEntryList(const QString &path, QDir::Filters filters,
const QStringList &filterNames)
{
return std::make_unique<QFSFileEngineIterator>(path, filters, filterNames);
}
QAbstractFileEngine::IteratorUniquePtr
QFSFileEngine::beginEntryList(const QString &path, QDirListing::IteratorFlags filters,
const QStringList &filterNames)

View File

@ -86,8 +86,6 @@ public:
int handle() const override;
#ifndef QT_NO_FILESYSTEMITERATOR
IteratorUniquePtr beginEntryList(const QString &path, QDir::Filters filters,
const QStringList &filterNames) override;
IteratorUniquePtr beginEntryList(const QString &path, QDirListing::IteratorFlags filters,
const QStringList &filterNames) override;
#endif

View File

@ -1585,13 +1585,6 @@ QDateTime QResourceFileEngine::fileTime(QFile::FileTime time) const
/*!
\internal
*/
QAbstractFileEngine::IteratorUniquePtr
QResourceFileEngine::beginEntryList(const QString &path, QDir::Filters filters,
const QStringList &filterNames)
{
return std::make_unique<QResourceFileEngineIterator>(path, filters, filterNames);
}
QAbstractFileEngine::IteratorUniquePtr
QResourceFileEngine::beginEntryList(const QString &path, QDirListing::IteratorFlags filters,
const QStringList &filterNames)

View File

@ -49,8 +49,6 @@ public:
QDateTime fileTime(QFile::FileTime time) const override;
IteratorUniquePtr beginEntryList(const QString &path, QDir::Filters filters,
const QStringList &filterNames) override;
IteratorUniquePtr beginEntryList(const QString &path, QDirListing::IteratorFlags filters,
const QStringList &filterNames) override;

View File

@ -437,7 +437,7 @@ public:
{ }
IteratorUniquePtr
beginEntryList(const QString &, QDir::Filters, const QStringList &) override
beginEntryList(const QString &, QDirListing::IteratorFlags, const QStringList &) override
{ return nullptr; }
};