diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp index 82190ccde64..3801cb754d1 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp @@ -33,7 +33,7 @@ #include #include #include -#include +#include namespace QmlProjectManager { @@ -100,7 +100,7 @@ void FileFilterBaseItem::setFilter(const QString &filter) m_regExpList.clear(); m_fileSuffixes.clear(); - foreach (const QString &pattern, filter.split(QLatin1Char(';'))) { + for (const QString &pattern : filter.split(QLatin1Char(';'))) { if (pattern.isEmpty()) continue; // decide if it's a canonical pattern like *.x @@ -113,7 +113,7 @@ void FileFilterBaseItem::setFilter(const QString &filter) continue; } } - m_regExpList << QRegExp(pattern, Qt::CaseInsensitive, QRegExp::Wildcard); + m_regExpList << QRegularExpression(QRegularExpression::wildcardToRegularExpression(pattern)); } updateFileList(); @@ -171,7 +171,7 @@ QStringList FileFilterBaseItem::files() const */ bool FileFilterBaseItem::matchesFile(const QString &filePath) const { - foreach (const QString &explicitFile, m_explicitFiles) { + for (const QString &explicitFile : m_explicitFiles) { if (absolutePath(explicitFile) == filePath) return true; } @@ -182,7 +182,7 @@ bool FileFilterBaseItem::matchesFile(const QString &filePath) const return false; const QDir fileDir = QFileInfo(filePath).absoluteDir(); - foreach (const QString &watchedDirectory, watchedDirectories()) { + for (const QString &watchedDirectory : watchedDirectories()) { if (QDir(watchedDirectory) == fileDir) return true; } @@ -225,9 +225,9 @@ void FileFilterBaseItem::updateFileListNow() QSet dirsToBeWatched; QSet newFiles; - foreach (const QString &explicitPath, m_explicitFiles) { + for (const QString &explicitPath : qAsConst(m_explicitFiles)) newFiles << absolutePath(explicitPath); - } + if ((!m_fileSuffixes.isEmpty() || !m_regExpList.isEmpty()) && m_explicitFiles.isEmpty()) newFiles += filesInSubTree(QDir(m_defaultDir), QDir(projectDir), &dirsToBeWatched); @@ -258,13 +258,13 @@ void FileFilterBaseItem::updateFileListNow() bool FileFilterBaseItem::fileMatches(const QString &fileName) const { - foreach (const QString &suffix, m_fileSuffixes) { + for (const QString &suffix : qAsConst(m_fileSuffixes)) { if (fileName.endsWith(suffix, Qt::CaseInsensitive)) return true; } - foreach (QRegExp filter, m_regExpList) { - if (filter.exactMatch(fileName)) + for (const QRegularExpression &filter : qAsConst(m_regExpList)) { + if (filter.match(fileName).hasMatch()) return true; } @@ -278,7 +278,7 @@ QSet FileFilterBaseItem::filesInSubTree(const QDir &rootDir, const QDir if (parsedDirs) parsedDirs->insert(dir.absolutePath()); - foreach (const QFileInfo &file, dir.entryInfoList(QDir::Files)) { + for (const QFileInfo &file : dir.entryInfoList(QDir::Files)) { const QString fileName = file.fileName(); if (fileMatches(fileName)) @@ -286,7 +286,7 @@ QSet FileFilterBaseItem::filesInSubTree(const QDir &rootDir, const QDir } if (recursive()) { - foreach (const QFileInfo &subDir, dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)) { + for (const QFileInfo &subDir : dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)) { fileSet += filesInSubTree(rootDir, QDir(subDir.absoluteFilePath()), parsedDirs); } } @@ -298,10 +298,9 @@ ImageFileFilterItem::ImageFileFilterItem(QObject *parent) { QString filter; // supported image formats according to - QList extensions = QImageReader::supportedImageFormats(); - foreach (const QByteArray &extension, extensions) { + const QList extensions = QImageReader::supportedImageFormats(); + for (const QByteArray &extension : extensions) filter.append(QString::fromLatin1("*.%1;").arg(QString::fromLatin1(extension))); - } setFilter(filter); } diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h index 827423e1e02..38ad7262fc1 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h @@ -28,7 +28,7 @@ #include "qmlprojectitem.h" #include -#include +#include #include #include @@ -91,7 +91,7 @@ private: QString m_filter; // simple "*.png" patterns are stored in m_fileSuffixes, otherwise store in m_regExpList QList m_fileSuffixes; - QList m_regExpList; + QList m_regExpList; enum RecursiveOption { Recurse,