summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2020-09-15 20:25:19 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2020-09-17 15:52:31 +0200
commit596c248a616e7c1e818ec8a4a59a8180daf8ce51 (patch)
treeced204b16a6cecddd86d4ec9218826630ef647c4
parentcc67bbbee6386c10c8282b3ea02f6db654d60c1e (diff)
Linguist: Refactor iterators
Use more const iterators. Fix mixing const iterators with non-const iterators. Use auto for iterators wherever easily possible. Change-Id: Ib6e73319971396e47bb0b0f5c252b8cf246de008 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--src/linguist/linguist/formpreviewview.cpp6
-rw-r--r--src/linguist/lprodump/main.cpp4
-rw-r--r--src/linguist/lupdate/cpp.cpp4
-rw-r--r--src/linguist/lupdate/cpp_clang.cpp4
-rw-r--r--src/linguist/lupdate/main.cpp38
-rw-r--r--src/linguist/lupdate/merge.cpp7
-rw-r--r--src/linguist/lupdate/synchronized.h2
-rw-r--r--src/linguist/shared/po.cpp14
-rw-r--r--src/linguist/shared/profileevaluator.cpp4
-rw-r--r--src/linguist/shared/qm.cpp22
-rw-r--r--src/linguist/shared/translator.cpp55
-rw-r--r--src/linguist/shared/translator.h2
-rw-r--r--src/linguist/shared/ts.cpp2
-rw-r--r--src/linguist/shared/xliff.cpp18
14 files changed, 82 insertions, 100 deletions
diff --git a/src/linguist/linguist/formpreviewview.cpp b/src/linguist/linguist/formpreviewview.cpp
index 2446e0097..8aed545da 100644
--- a/src/linguist/linguist/formpreviewview.cpp
+++ b/src/linguist/linguist/formpreviewview.cpp
@@ -207,8 +207,8 @@ static void buildTargets(QObject *o, TargetsHash *targets)
static void destroyTargets(TargetsHash *targets)
{
- for (TargetsHash::ConstIterator it = targets->cbegin(), end = targets->cend(); it != end; ++it)
- for (const TranslatableEntry &target : *it)
+ for (const auto &targetList : qAsConst(*targets))
+ for (const TranslatableEntry &target : targetList)
if (target.type == TranslatableProperty)
delete target.prop.name;
targets->clear();
@@ -554,7 +554,7 @@ void FormPreviewView::setSourceContext(int model, MessageItem *messageItem)
tsv.setQualifier(messageItem->comment().toUtf8());
m_highlights = m_targets.value(tsv);
if (m_lastModel != model) {
- for (TargetsHash::Iterator it = m_targets.begin(), end = m_targets.end(); it != end; ++it)
+ for (auto it = m_targets.cbegin(), end = m_targets.cend(); it != end; ++it)
retranslateTargets(*it, it.key(), m_dataModel->model(model), m_lastClassName);
m_lastModel = model;
} else {
diff --git a/src/linguist/lprodump/main.cpp b/src/linguist/lprodump/main.cpp
index 85eedd8e4..9ef5faa9c 100644
--- a/src/linguist/lprodump/main.cpp
+++ b/src/linguist/lprodump/main.cpp
@@ -236,7 +236,7 @@ static QStringList getSources(const ProFileEvaluator &visitor, const QString &pr
for (const QString &ex : excludes) {
// TODO: take advantage of the file list being sorted
QRegularExpression rx(QRegularExpression::wildcardToRegularExpression(ex));
- for (QStringList::Iterator it = sourceFiles.begin(); it != sourceFiles.end(); ) {
+ for (auto it = sourceFiles.begin(); it != sourceFiles.end(); ) {
if (rx.match(*it).hasMatch())
it = sourceFiles.erase(it);
else
@@ -262,7 +262,7 @@ static void excludeProjects(const ProFileEvaluator &visitor, QStringList *subPro
{
for (const QString &ex : visitor.values(QLatin1String("TR_EXCLUDE"))) {
QRegularExpression rx(QRegularExpression::wildcardToRegularExpression(ex));
- for (QStringList::Iterator it = subProjects->begin(); it != subProjects->end(); ) {
+ for (auto it = subProjects->begin(); it != subProjects->end(); ) {
if (rx.match(*it).hasMatch())
it = subProjects->erase(it);
else
diff --git a/src/linguist/lupdate/cpp.cpp b/src/linguist/lupdate/cpp.cpp
index bbab74649..ede034353 100644
--- a/src/linguist/lupdate/cpp.cpp
+++ b/src/linguist/lupdate/cpp.cpp
@@ -1023,7 +1023,7 @@ bool CppParser::qualifyOneCallbackOwn(const Namespace *ns, void *context) const
*data->resolved << data->segment;
return true;
}
- QHash<HashString, NamespaceList>::ConstIterator nsai = ns->aliases.constFind(data->segment);
+ auto nsai = ns->aliases.constFind(data->segment);
if (nsai != ns->aliases.constEnd()) {
const NamespaceList &nsl = *nsai;
if (nsl.last().value().isEmpty()) { // Delayed alias resolution
@@ -2210,7 +2210,7 @@ const ParseResults *CppParser::recordResults(bool isHeader)
&& results->rootNamespace.aliases.isEmpty()
&& results->rootNamespace.usings.isEmpty()) {
// This is a forwarding header. Slash it.
- pr = *results->includes.begin();
+ pr = *results->includes.cbegin();
delete results;
} else {
results->fileId = nextFileId++;
diff --git a/src/linguist/lupdate/cpp_clang.cpp b/src/linguist/lupdate/cpp_clang.cpp
index 8bab9dba6..951714c7d 100644
--- a/src/linguist/lupdate/cpp_clang.cpp
+++ b/src/linguist/lupdate/cpp_clang.cpp
@@ -128,8 +128,8 @@ void ClangCppParser::loadCPP(Translator &translator, const QStringList &files, C
sources.push_back(filename.toStdString());
}
}
- sourcesPP.insert(sourcesPP.end(), sources.begin(), sources.end());
- sourcesAst.insert(sourcesAst.end(), sources.begin(), sources.end());
+ sourcesPP.insert(sourcesPP.cend(), sources.cbegin(), sources.cend());
+ sourcesAst.insert(sourcesAst.cend(), sources.cbegin(), sources.cend());
int argc = 4;
// NEED 2 empty one to start!!! otherwise: LLVM::ERROR
diff --git a/src/linguist/lupdate/main.cpp b/src/linguist/lupdate/main.cpp
index b8a8cf121..055a1b7ed 100644
--- a/src/linguist/lupdate/main.cpp
+++ b/src/linguist/lupdate/main.cpp
@@ -40,7 +40,6 @@
#include <QtCore/QCoreApplication>
#include <QtCore/QDir>
-#include <QtCore/QDirIterator>
#include <QtCore/QFile>
#include <QtCore/QFileInfo>
#include <QtCore/QLibraryInfo>
@@ -91,9 +90,8 @@ int TrFunctionAliasManager::trFunctionByName(const QString &trFunctionName) cons
{
ensureTrFunctionHashUpdated();
// this function needs to be fast
- const QHash<QString, TrFunction>::const_iterator it
- = m_nameToTrFunctionMap.find(trFunctionName);
- return it == m_nameToTrFunctionMap.end() ? -1 : *it;
+ const auto it = m_nameToTrFunctionMap.constFind(trFunctionName);
+ return it == m_nameToTrFunctionMap.cend() ? -1 : *it;
}
void TrFunctionAliasManager::modifyAlias(int trFunction, const QString &alias, Operation op)
@@ -500,26 +498,26 @@ static void processSources(Translator &fetchedTor,
bool requireQmlSupport = false;
#endif
QStringList sourceFilesCpp;
- for (QStringList::const_iterator it = sourceFiles.begin(); it != sourceFiles.end(); ++it) {
- if (it->endsWith(QLatin1String(".java"), Qt::CaseInsensitive))
- loadJava(fetchedTor, *it, cd);
- else if (it->endsWith(QLatin1String(".ui"), Qt::CaseInsensitive)
- || it->endsWith(QLatin1String(".jui"), Qt::CaseInsensitive))
- loadUI(fetchedTor, *it, cd);
+ for (const auto &sourceFile : sourceFiles) {
+ if (sourceFile.endsWith(QLatin1String(".java"), Qt::CaseInsensitive))
+ loadJava(fetchedTor, sourceFile, cd);
+ else if (sourceFile.endsWith(QLatin1String(".ui"), Qt::CaseInsensitive)
+ || sourceFile.endsWith(QLatin1String(".jui"), Qt::CaseInsensitive))
+ loadUI(fetchedTor, sourceFile, cd);
#ifndef QT_NO_QML
- else if (it->endsWith(QLatin1String(".js"), Qt::CaseInsensitive)
- || it->endsWith(QLatin1String(".qs"), Qt::CaseInsensitive))
- loadQScript(fetchedTor, *it, cd);
- else if (it->endsWith(QLatin1String(".qml"), Qt::CaseInsensitive))
- loadQml(fetchedTor, *it, cd);
+ else if (sourceFile.endsWith(QLatin1String(".js"), Qt::CaseInsensitive)
+ || sourceFile.endsWith(QLatin1String(".qs"), Qt::CaseInsensitive))
+ loadQScript(fetchedTor, sourceFile, cd);
+ else if (sourceFile.endsWith(QLatin1String(".qml"), Qt::CaseInsensitive))
+ loadQml(fetchedTor, sourceFile, cd);
#else
- else if (it->endsWith(QLatin1String(".qml"), Qt::CaseInsensitive)
- || it->endsWith(QLatin1String(".js"), Qt::CaseInsensitive)
- || it->endsWith(QLatin1String(".qs"), Qt::CaseInsensitive))
+ else if (sourceFile.endsWith(QLatin1String(".qml"), Qt::CaseInsensitive)
+ || sourceFile.endsWith(QLatin1String(".js"), Qt::CaseInsensitive)
+ || sourceFile.endsWith(QLatin1String(".qs"), Qt::CaseInsensitive))
requireQmlSupport = true;
#endif // QT_NO_QML
- else if (!processTs(fetchedTor, *it, cd))
- sourceFilesCpp << *it;
+ else if (!processTs(fetchedTor, sourceFile, cd))
+ sourceFilesCpp << sourceFile;
}
#ifdef QT_NO_QML
diff --git a/src/linguist/lupdate/merge.cpp b/src/linguist/lupdate/merge.cpp
index 8473e332a..9db8826c8 100644
--- a/src/linguist/lupdate/merge.cpp
+++ b/src/linguist/lupdate/merge.cpp
@@ -230,8 +230,7 @@ int applyNumberHeuristic(Translator &tor)
TranslatorMessage &msg = tor.message(i);
const QString &key = zeroKey(msg.sourceText());
if (!key.isEmpty()) {
- QMap<QString, QPair<QString, QString> >::ConstIterator t =
- translated.constFind(key);
+ const auto t = translated.constFind(key);
if (t != translated.constEnd() && t->first != msg.sourceText()) {
msg.setTranslation(translationAttempt(t->second, t->first,
msg.sourceText()));
@@ -268,7 +267,7 @@ int applySameTextHeuristic(Translator &tor)
untranslated[i] = true;
} else {
const QString &key = msg.sourceText();
- QMap<QString, QStringList>::ConstIterator t = translated.constFind(key);
+ const auto t = translated.constFind(key);
if (t != translated.constEnd()) {
/*
The same source text is translated at least two
@@ -287,7 +286,7 @@ int applySameTextHeuristic(Translator &tor)
for (int i = 0; i < tor.messageCount(); ++i) {
if (untranslated[i]) {
TranslatorMessage &msg = tor.message(i);
- QMap<QString, QStringList>::ConstIterator t = translated.constFind(msg.sourceText());
+ const auto t = translated.constFind(msg.sourceText());
if (t != translated.constEnd()) {
msg.setTranslations(*t);
++inserted;
diff --git a/src/linguist/lupdate/synchronized.h b/src/linguist/lupdate/synchronized.h
index 8fe5d8ed0..5bf621a30 100644
--- a/src/linguist/lupdate/synchronized.h
+++ b/src/linguist/lupdate/synchronized.h
@@ -61,7 +61,7 @@ public:
{
QMutexLocker lock(&m_mutex);
if (!m_vector.empty()) {
- m_vector.insert(m_vector.end(), std::make_move_iterator(values.begin()),
+ m_vector.insert(m_vector.cend(), std::make_move_iterator(values.begin()),
std::make_move_iterator(values.end()));
} else {
m_vector = std::move(values);
diff --git a/src/linguist/shared/po.cpp b/src/linguist/shared/po.cpp
index 221d84853..d9aa24bbd 100644
--- a/src/linguist/shared/po.cpp
+++ b/src/linguist/shared/po.cpp
@@ -534,9 +534,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
extras[QLatin1String("po-header_comment")] =
QByteArrayList_join(lines.mid(0, lastCmtLine + 1), '\n');
}
- for (QHash<QString, QByteArray>::ConstIterator it = extras.constBegin(),
- end = extras.constEnd();
- it != end; ++it)
+ for (auto it = extras.cbegin(), end = extras.cend(); it != end; ++it)
translator.setExtra(it.key(), toUnicode(it.value()));
item = PoItem();
continue;
@@ -611,9 +609,8 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
if (flags.removeOne(QLatin1String("fuzzy")))
item.isFuzzy = true;
flags.removeOne(QLatin1String("qt-format"));
- TranslatorMessage::ExtraData::const_iterator it =
- item.extra.find(QLatin1String("po-flags"));
- if (it != item.extra.end())
+ const auto it = item.extra.constFind(QLatin1String("po-flags"));
+ if (it != item.extra.cend())
flags.prepend(*it);
if (!flags.isEmpty())
item.extra[QLatin1String("po-flags")] = flags.join(QLatin1String(", "));
@@ -806,9 +803,8 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &)
if ((msg.type() == TranslatorMessage::Unfinished
|| msg.type() == TranslatorMessage::Obsolete) && msg.isTranslated())
flags.append(QLatin1String("fuzzy"));
- TranslatorMessage::ExtraData::const_iterator itr =
- msg.extras().find(QLatin1String("po-flags"));
- if (itr != msg.extras().end()) {
+ const auto itr = msg.extras().constFind(QLatin1String("po-flags"));
+ if (itr != msg.extras().cend()) {
const QStringList atoms = itr->split(QLatin1String(", "));
for (const QString &atom : atoms)
if (atom.endsWith(str_format)) {
diff --git a/src/linguist/shared/profileevaluator.cpp b/src/linguist/shared/profileevaluator.cpp
index f89ff8eef..77059fa94 100644
--- a/src/linguist/shared/profileevaluator.cpp
+++ b/src/linguist/shared/profileevaluator.cpp
@@ -219,9 +219,7 @@ void ProFileEvaluator::setCumulative(bool on)
void ProFileEvaluator::setExtraVars(const QHash<QString, QStringList> &extraVars)
{
ProValueMap map;
- QHash<QString, QStringList>::const_iterator it = extraVars.constBegin();
- QHash<QString, QStringList>::const_iterator end = extraVars.constEnd();
- for ( ; it != end; ++it)
+ for (auto it = extraVars.cbegin(), end = extraVars.cend() ; it != end; ++it)
map.insert(ProKey(it.key()), ProStringList(it.value()));
d->setExtraVars(map);
}
diff --git a/src/linguist/shared/qm.cpp b/src/linguist/shared/qm.cpp
index c638e4e73..6eb9c874d 100644
--- a/src/linguist/shared/qm.cpp
+++ b/src/linguist/shared/qm.cpp
@@ -293,7 +293,7 @@ void Releaser::squeeze(TranslatorSaveMode mode)
if (m_messages.isEmpty() && mode == SaveEverything)
return;
- QMap<ByteTranslatorMessage, void *> messages = m_messages;
+ const auto messages = m_messages;
// re-build contents
m_messageArray.clear();
@@ -304,13 +304,11 @@ void Releaser::squeeze(TranslatorSaveMode mode)
QMap<Offset, void *> offsets;
QDataStream ms(&m_messageArray, QIODevice::WriteOnly);
- QMap<ByteTranslatorMessage, void *>::const_iterator it, next;
int cpPrev = 0, cpNext = 0;
- for (it = messages.constBegin(); it != messages.constEnd(); ++it) {
+ for (auto it = messages.cbegin(), end = messages.cend(); it != end; ++it) {
cpPrev = cpNext;
- next = it;
- ++next;
- if (next == messages.constEnd())
+ const auto next = std::next(it);
+ if (next == end)
cpNext = 0;
else
cpNext = commonPrefix(it.key(), next.key());
@@ -318,10 +316,9 @@ void Releaser::squeeze(TranslatorSaveMode mode)
writeMessage(it.key(), ms, mode, Prefix(qMax(cpPrev, cpNext + 1)));
}
- QMap<Offset, void *>::Iterator offset;
- offset = offsets.begin();
+ auto offset = offsets.cbegin();
QDataStream ds(&m_offsetArray, QIODevice::WriteOnly);
- while (offset != offsets.end()) {
+ while (offset != offsets.cend()) {
Offset k = offset.key();
++offset;
ds << quint32(k.h) << quint32(k.o);
@@ -329,7 +326,7 @@ void Releaser::squeeze(TranslatorSaveMode mode)
if (mode == SaveStripped) {
QMap<QByteArray, int> contextSet;
- for (it = messages.constBegin(); it != messages.constEnd(); ++it)
+ for (auto it = messages.cbegin(), end = messages.cend(); it != end; ++it)
++contextSet[it.key().context()];
quint16 hTableSize;
@@ -341,8 +338,7 @@ void Releaser::squeeze(TranslatorSaveMode mode)
hTableSize = (contextSet.size() < 10000) ? 15013 : 3 * contextSet.size() / 2;
QMultiMap<int, QByteArray> hashMap;
- QMap<QByteArray, int>::const_iterator c;
- for (c = contextSet.constBegin(); c != contextSet.constEnd(); ++c)
+ for (auto c = contextSet.cbegin(), end = contextSet.cend(); c != end; ++c)
hashMap.insert(elfHash(c.key()) % hTableSize, c.key());
/*
@@ -378,7 +374,7 @@ void Releaser::squeeze(TranslatorSaveMode mode)
t << quint16(0); // the entry at offset 0 cannot be used
uint upto = 2;
- QMultiMap<int, QByteArray>::const_iterator entry = hashMap.constBegin();
+ auto entry = hashMap.constBegin();
while (entry != hashMap.constEnd()) {
int i = entry.key();
hTable[i] = quint16(upto >> 1);
diff --git a/src/linguist/shared/translator.cpp b/src/linguist/shared/translator.cpp
index 7fb464e6b..ced5df322 100644
--- a/src/linguist/shared/translator.cpp
+++ b/src/linguist/shared/translator.cpp
@@ -383,12 +383,12 @@ int Translator::find(const QString &context,
const QString &comment, const TranslatorMessage::References &refs) const
{
if (!refs.isEmpty()) {
- for (TMM::ConstIterator it = m_messages.constBegin(); it != m_messages.constEnd(); ++it) {
+ for (auto it = m_messages.cbegin(), end = m_messages.cend(); it != end; ++it) {
if (it->context() == context && it->comment() == comment) {
- for (const TranslatorMessage::Reference &itref : it->allReferences()) {
- for (const TranslatorMessage::Reference &ref : refs) {
+ for (const auto &itref : it->allReferences()) {
+ for (const auto &ref : refs) {
if (itref == ref)
- return it - m_messages.constBegin();
+ return it - m_messages.cbegin();
}
}
}
@@ -405,7 +405,7 @@ int Translator::find(const QString &context) const
void Translator::stripObsoleteMessages()
{
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); )
+ for (auto it = m_messages.begin(); it != m_messages.end(); )
if (it->type() == TranslatorMessage::Obsolete || it->type() == TranslatorMessage::Vanished)
it = m_messages.erase(it);
else
@@ -415,7 +415,7 @@ void Translator::stripObsoleteMessages()
void Translator::stripFinishedMessages()
{
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); )
+ for (auto it = m_messages.begin(); it != m_messages.end(); )
if (it->type() == TranslatorMessage::Finished)
it = m_messages.erase(it);
else
@@ -425,7 +425,7 @@ void Translator::stripFinishedMessages()
void Translator::stripUntranslatedMessages()
{
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); )
+ for (auto it = m_messages.begin(); it != m_messages.end(); )
if (!it->isTranslated())
it = m_messages.erase(it);
else
@@ -433,20 +433,18 @@ void Translator::stripUntranslatedMessages()
m_indexOk = false;
}
-bool Translator::translationsExist()
+bool Translator::translationsExist() const
{
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); ) {
- if (it->isTranslated())
+ for (const auto &message : m_messages) {
+ if (message.isTranslated())
return true;
- else
- ++it;
}
return false;
}
void Translator::stripEmptyContexts()
{
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end();)
+ for (auto it = m_messages.begin(); it != m_messages.end(); )
if (it->sourceText() == QLatin1String(ContextComment))
it = m_messages.erase(it);
else
@@ -456,7 +454,7 @@ void Translator::stripEmptyContexts()
void Translator::stripNonPluralForms()
{
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); )
+ for (auto it = m_messages.begin(); it != m_messages.end(); )
if (!it->isPlural())
it = m_messages.erase(it);
else
@@ -466,7 +464,7 @@ void Translator::stripNonPluralForms()
void Translator::stripIdenticalSourceTranslations()
{
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); ) {
+ for (auto it = m_messages.begin(); it != m_messages.end(); ) {
// we need to have just one translation, and it be equal to the source
if (it->translations().count() == 1 && it->translation() == it->sourceText())
it = m_messages.erase(it);
@@ -478,21 +476,21 @@ void Translator::stripIdenticalSourceTranslations()
void Translator::dropTranslations()
{
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); ++it) {
- if (it->type() == TranslatorMessage::Finished)
- it->setType(TranslatorMessage::Unfinished);
- it->setTranslation(QString());
+ for (auto &message : m_messages) {
+ if (message.type() == TranslatorMessage::Finished)
+ message.setType(TranslatorMessage::Unfinished);
+ message.setTranslation(QString());
}
}
void Translator::dropUiLines()
{
- QString uiXt = QLatin1String(".ui");
- QString juiXt = QLatin1String(".jui");
- for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); ++it) {
+ const QString uiXt = QLatin1String(".ui");
+ const QString juiXt = QLatin1String(".jui");
+ for (auto &message : m_messages) {
QHash<QString, int> have;
QList<TranslatorMessage::Reference> refs;
- for (const TranslatorMessage::Reference &itref : it->allReferences()) {
+ for (const auto &itref : message.allReferences()) {
const QString &fn = itref.fileName();
if (fn.endsWith(uiXt) || fn.endsWith(juiXt)) {
if (++have[fn] == 1)
@@ -501,7 +499,7 @@ void Translator::dropUiLines()
refs.append(itref);
}
}
- it->setReferences(refs);
+ message.setReferences(refs);
}
}
@@ -578,8 +576,7 @@ Translator::Duplicates Translator::resolveDuplicates()
int oi;
QSet<int> *pDup;
if (!msg.id().isEmpty()) {
- QHash<TranslatorMessageIdPtr, int>::ConstIterator it =
- idRefs.constFind(TranslatorMessageIdPtr(msg));
+ const auto it = idRefs.constFind(TranslatorMessageIdPtr(msg));
if (it != idRefs.constEnd()) {
oi = *it;
omsg = &m_messages[oi];
@@ -588,8 +585,7 @@ Translator::Duplicates Translator::resolveDuplicates()
}
}
{
- QHash<TranslatorMessageContentPtr, int>::ConstIterator it =
- contentRefs.constFind(TranslatorMessageContentPtr(msg));
+ const auto it = contentRefs.constFind(TranslatorMessageContentPtr(msg));
if (it != contentRefs.constEnd()) {
oi = *it;
omsg = &m_messages[oi];
@@ -649,8 +645,7 @@ void Translator::reportDuplicates(const Duplicates &dupes,
// Used by lupdate to be able to search using absolute paths during merging
void Translator::makeFileNamesAbsolute(const QDir &originalPath)
{
- for (TMM::iterator it = m_messages.begin(); it != m_messages.end(); ++it) {
- TranslatorMessage &msg = *it;
+ for (auto &msg : m_messages) {
const TranslatorMessage::References refs = msg.allReferences();
msg.setReferences(TranslatorMessage::References());
for (const TranslatorMessage::Reference &ref : refs) {
diff --git a/src/linguist/shared/translator.h b/src/linguist/shared/translator.h
index 285146813..80bb201e1 100644
--- a/src/linguist/shared/translator.h
+++ b/src/linguist/shared/translator.h
@@ -139,7 +139,7 @@ public:
void dropTranslations();
void dropUiLines();
void makeFileNamesAbsolute(const QDir &originalPath);
- bool translationsExist();
+ bool translationsExist() const;
struct Duplicates { QSet<int> byId, byContents; };
Duplicates resolveDuplicates();
diff --git a/src/linguist/shared/ts.cpp b/src/linguist/shared/ts.cpp
index 9a6f8b2b7..a5daf7c90 100644
--- a/src/linguist/shared/ts.cpp
+++ b/src/linguist/shared/ts.cpp
@@ -470,7 +470,7 @@ static void writeExtras(QTextStream &t, const char *indent,
const TranslatorMessage::ExtraData &extras, QRegularExpression drops)
{
QStringList outs;
- for (Translator::ExtraData::ConstIterator it = extras.begin(); it != extras.end(); ++it) {
+ for (auto it = extras.cbegin(), end = extras.cend(); it != end; ++it) {
if (!drops.match(it.key()).hasMatch()) {
outs << (QStringLiteral("<extra-") + it.key() + QLatin1Char('>')
+ protect(it.value())
diff --git a/src/linguist/shared/xliff.cpp b/src/linguist/shared/xliff.cpp
index 71b3305e3..ef380939e 100644
--- a/src/linguist/shared/xliff.cpp
+++ b/src/linguist/shared/xliff.cpp
@@ -177,7 +177,7 @@ static QString protect(const QString &str, bool makePhs = true)
static void writeExtras(QTextStream &ts, int indent,
const TranslatorMessage::ExtraData &extras, QRegularExpression drops)
{
- for (Translator::ExtraData::ConstIterator it = extras.begin(); it != extras.end(); ++it) {
+ for (auto it = extras.cbegin(), end = extras.cend(); it != end; ++it) {
if (!drops.match(it.key()).hasMatch()) {
writeIndent(ts, indent);
ts << "<trolltech:" << it.key() << '>'
@@ -238,15 +238,16 @@ static void writeTransUnits(QTextStream &ts, const TranslatorMessage &msg, const
QString msgidstr = !msg.id().isEmpty() ? msg.id() : QString::fromLatin1("_msg%1").arg(++msgid);
QStringList translns = msg.translations();
- QHash<QString, QString>::const_iterator it;
QString pluralStr;
QStringList sources(msg.sourceText());
- if ((it = msg.extras().find(QString::fromLatin1("po-msgid_plural"))) != msg.extras().end())
+ const auto &extras = msg.extras();
+ const auto extrasEnd = extras.cend();
+ if (const auto it = extras.constFind(QString::fromLatin1("po-msgid_plural")); it != extrasEnd)
sources.append(*it);
QStringList oldsources;
if (!msg.oldSourceText().isEmpty())
oldsources.append(msg.oldSourceText());
- if ((it = msg.extras().find(QString::fromLatin1("po-old_msgid_plural"))) != msg.extras().end()) {
+ if (const auto it = extras.constFind(QString::fromLatin1("po-old_msgid_plural")); it != extrasEnd) {
if (oldsources.isEmpty()) {
if (sources.count() == 2)
oldsources.append(QString());
@@ -256,10 +257,9 @@ static void writeTransUnits(QTextStream &ts, const TranslatorMessage &msg, const
oldsources.append(*it);
}
- QStringList::const_iterator
- srcit = sources.begin(), srcend = sources.end(),
- oldsrcit = oldsources.begin(), oldsrcend = oldsources.end(),
- transit = translns.begin(), transend = translns.end();
+ auto srcit = sources.cbegin(), srcend = sources.cend(),
+ oldsrcit = oldsources.cbegin(), oldsrcend = oldsources.cend(),
+ transit = translns.cbegin(), transend = translns.cend();
int plural = 0;
QString source;
while (srcit != srcend || oldsrcit != oldsrcend || transit != transend) {
@@ -795,7 +795,7 @@ bool saveXLIFF(const Translator &translator, QIODevice &dev, ConversionData &cd)
for (const QString &fn : qAsConst(fileOrder)) {
writeIndent(ts, indent);
ts << "<file original=\"" << fn << "\""
- << " datatype=\"" << dataType(messageOrder[fn].begin()->first()) << "\""
+ << " datatype=\"" << dataType(messageOrder[fn].cbegin()->first()) << "\""
<< " source-language=\"" << sourceLanguageCode.toLatin1() << "\""
<< " target-language=\"" << languageCode.toLatin1() << "\""
<< "><body>\n";