diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,7 +115,7 @@ ) add_definitions(-DTRANSLATION_DOMAIN=\"kfilemetadata5\") - +add_definitions(-DQT_NO_FOREACH) add_subdirectory(src) if (BUILD_TESTING) add_subdirectory(autotests) diff --git a/src/externalextractor.cpp b/src/externalextractor.cpp --- a/src/externalextractor.cpp +++ b/src/externalextractor.cpp @@ -147,24 +147,26 @@ QJsonObject rootObject = extractorData.object(); QJsonObject propertiesObject = rootObject[QStringLiteral("properties")].toObject(); - Q_FOREACH(const auto &key, propertiesObject.keys()) { - if (key == QStringLiteral("typeInfo")) { - TypeInfo info = TypeInfo::fromName(propertiesObject.value(key).toString()); + const auto propertiesObjectEnd = propertiesObject.constEnd(); + auto i = propertiesObject.constBegin(); + for (; i != propertiesObjectEnd; ++i) { + if (i.key() == QStringLiteral("typeInfo")) { + TypeInfo info = TypeInfo::fromName(propertiesObject.value(i.key()).toString()); result->addType(info.type()); continue; } // for plaintext extraction - if (key == QStringLiteral("text")) { - result->append(propertiesObject.value(key).toString(QStringLiteral(""))); + if (i.key() == QStringLiteral("text")) { + result->append(propertiesObject.value(i.key()).toString(QStringLiteral(""))); continue; } - PropertyInfo info = PropertyInfo::fromName(key); - if (info.name() != key) { + PropertyInfo info = PropertyInfo::fromName(i.key()); + if (info.name() != i.key()) { continue; } - result->add(info.property(), propertiesObject.value(key).toVariant()); + result->add(info.property(), i.value().toVariant()); } if (rootObject[QStringLiteral("status")].toString() != QStringLiteral("OK")) { diff --git a/src/externalwriter.cpp b/src/externalwriter.cpp --- a/src/externalwriter.cpp +++ b/src/externalwriter.cpp @@ -81,9 +81,9 @@ } QJsonObject rootObject = manifestDoc.object(); - QJsonArray mimetypesArray = rootObject.value(QStringLiteral("mimetypes")).toArray(); + const QJsonArray mimetypesArray = rootObject.value(QStringLiteral("mimetypes")).toArray(); QStringList mimetypes; - Q_FOREACH(const QVariant &mimetype, mimetypesArray) { + for (const QVariant &mimetype : mimetypesArray) { mimetypes << mimetype.toString(); } @@ -106,12 +106,12 @@ QByteArray output; QByteArray errorOutput; - QMap properties = data.getAllProperties(); - const auto &propertiesKeys = properties.keys(); + const QMap properties = data.getAllProperties(); - Q_FOREACH(const Property::Property &property, propertiesKeys) { - PropertyInfo propertyInfo(property); - propertiesObject[propertyInfo.name()] = QJsonValue::fromVariant(properties[property]); + QMap::const_iterator i = properties.constBegin(); + while (i != properties.constEnd()) { + PropertyInfo propertyInfo(i.key()); + propertiesObject[propertyInfo.name()] = QJsonValue::fromVariant(properties[i.key()]); } rootObject[QStringLiteral("path")] = QJsonValue(data.inputUrl()); diff --git a/src/extractorplugin.cpp b/src/extractorplugin.cpp --- a/src/extractorplugin.cpp +++ b/src/extractorplugin.cpp @@ -137,7 +137,7 @@ QStringList list; list.reserve(contactStrings.count()); - foreach(const QString& contactName, contactStrings) { + for (const QString& contactName : qAsConst(contactStrings)) { list << contactName.trimmed(); } diff --git a/src/extractors/office2007extractor.cpp b/src/extractors/office2007extractor.cpp --- a/src/extractors/office2007extractor.cpp +++ b/src/extractors/office2007extractor.cpp @@ -258,7 +258,7 @@ void Office2007Extractor::extractTextFromFiles(const KArchiveDirectory* archiveDir, ExtractionResult* result) { const QStringList entries = archiveDir->entries(); - foreach(const QString & entryName, entries) { + for (const QString & entryName : entries) { const KArchiveEntry* entry = archiveDir->entry(entryName); if (entry->isDirectory()) { const KArchiveDirectory* subDir = dynamic_cast(entry); diff --git a/src/writercollection.cpp b/src/writercollection.cpp --- a/src/writercollection.cpp +++ b/src/writercollection.cpp @@ -53,8 +53,9 @@ Q_D(WriterCollection); const QList all = d->allWriters(); - foreach (Writer* writer, all) { - foreach (const QString& type, writer->mimetypes()) { + for (Writer* writer : all) { + const QStringList lst = writer->mimetypes(); + for (const QString& type : lst) { d->m_writers.insertMulti(type, writer); } } @@ -76,7 +77,7 @@ QStringList externalPluginPaths; const QStringList paths = QCoreApplication::libraryPaths(); - Q_FOREACH (const QString& libraryPath, paths) { + for (const QString& libraryPath : paths) { QString path(libraryPath + QStringLiteral("/kf5/kfilemetadata/writers")); QDir dir(path); @@ -110,7 +111,7 @@ externalPlugins.clear(); QList writers; - Q_FOREACH (const QString& pluginPath, pluginPaths) { + for (const QString& pluginPath : qAsConst(pluginPaths)) { QPluginLoader loader(pluginPath); if (!loader.load()) { @@ -137,7 +138,7 @@ } } - Q_FOREACH (const QString& externalPluginPath, externalPluginPaths) { + for (const QString& externalPluginPath : qAsConst(externalPluginPaths)) { ExternalWriter *plugin = new ExternalWriter(externalPluginPath); Writer* writer = new Writer; writer->d_ptr->m_plugin = plugin; diff --git a/tests/dump.cpp b/tests/dump.cpp --- a/tests/dump.cpp +++ b/tests/dump.cpp @@ -57,7 +57,7 @@ QTextStream out(stdout); out << url << " " << mimetype << "\n\n"; - Q_FOREACH (KFileMetaData::Extractor* ex, exList) { + for (KFileMetaData::Extractor* ex : qAsConst(exList)) { KFileMetaData::SimpleExtractionResult result(url, mimetype, KFileMetaData::ExtractionResult::ExtractMetaData); ex->extract(&result);