forked from qt-creator/qt-creator
Utils: Use range-based for in QrcParser
+ Avoid modifying the list while iterating it, and also avoid second scan. Change-Id: Idea74c338e24c300dbc3ca2e4f50797914cc5a1a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
890d96d63b
commit
a050ae84e2
@@ -551,18 +551,21 @@ const QStringList QrcParserPrivate::allUiLanguages(const QLocale *locale) const
|
|||||||
{
|
{
|
||||||
if (!locale)
|
if (!locale)
|
||||||
return languages();
|
return languages();
|
||||||
QStringList langs = locale->uiLanguages();
|
bool hasEmptyString = false;
|
||||||
foreach (const QString &language, langs) { // qt4 support
|
const QStringList langs = locale->uiLanguages();
|
||||||
if (language.contains(QLatin1Char('_')) || language.contains(QLatin1Char('-'))) {
|
QStringList allLangs = langs;
|
||||||
QStringList splits = QString(language).replace(QLatin1Char('_'), QLatin1Char('-'))
|
for (const QString &language : langs) {
|
||||||
.split(QLatin1Char('-'));
|
if (language.isEmpty())
|
||||||
|
hasEmptyString = true;
|
||||||
|
else if (language.contains('_') || language.contains('-')) {
|
||||||
|
const QStringList splits = QString(language).replace('_', '-').split('-');
|
||||||
if (splits.size() > 1 && !langs.contains(splits.at(0)))
|
if (splits.size() > 1 && !langs.contains(splits.at(0)))
|
||||||
langs.append(splits.at(0));
|
allLangs.append(splits.at(0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!langs.contains(QString()))
|
if (!hasEmptyString)
|
||||||
langs.append(QString());
|
allLangs.append(QString());
|
||||||
return langs;
|
return allLangs;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------
|
// ----------------
|
||||||
|
Reference in New Issue
Block a user