QMimeProvider: de-duplicate some code

Drive-by change: use range-for with a QHash::asKeyValueRange().

Change-Id: I173d28d759bef8f23330338127eeff3018af4a55
Reviewed-by: David Faure <david.faure@kdab.com>
bb10
Ahmad Samir 2023-04-13 13:43:06 +02:00
parent 5083900ce3
commit 8d46cff650
1 changed files with 6 additions and 12 deletions

View File

@ -394,8 +394,7 @@ void QMimeBinaryProvider::addParents(const QString &mime, QStringList &result)
const int parentOffset = m_cacheFile->getUint32(parentsOffset + 4 + 4 * i);
const char *aParent = m_cacheFile->getCharStar(parentOffset);
const QString strParent = QString::fromLatin1(aParent);
if (!result.contains(strParent))
result.append(strParent);
appendIfNew(result, strParent);
}
break;
}
@ -442,8 +441,7 @@ void QMimeBinaryProvider::addAliases(const QString &name, QStringList &result)
const int aliasOffset = m_cacheFile->getUint32(off);
const char *alias = m_cacheFile->getCharStar(aliasOffset);
const QString strAlias = QString::fromLatin1(alias);
if (!result.contains(strAlias))
result.append(strAlias);
appendIfNew(result, strAlias);
}
}
}
@ -539,8 +537,7 @@ bool QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate &data)
if (mainPattern.isEmpty() && pattern.startsWith(u'*')) {
mainPattern = pattern;
}
if (!extra.globPatterns.contains(pattern))
extra.globPatterns.append(pattern);
appendIfNew(extra.globPatterns, pattern);
}
xml.skipCurrentElement();
}
@ -829,13 +826,10 @@ void QMimeXMLProvider::addParent(const QString &child, const QString &parent)
void QMimeXMLProvider::addAliases(const QString &name, QStringList &result)
{
// Iterate through the whole hash. This method is rarely used.
for (auto it = m_aliases.constBegin(), end = m_aliases.constEnd() ; it != end ; ++it) {
if (it.value() == name) {
if (!result.contains(it.key()))
result.append(it.key());
}
for (const auto &[alias, mimeName] : std::as_const(m_aliases).asKeyValueRange()) {
if (mimeName == name)
appendIfNew(result, alias);
}
}
QString QMimeXMLProvider::resolveAlias(const QString &name)