summaryrefslogtreecommitdiffstats
path: root/src/linguist
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2020-09-15 12:07:59 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2020-09-15 15:56:04 +0200
commit6b656bf454d43ccdcfefa74c6ae1d16ac6d72702 (patch)
treeb86c6534e1a272823c721a0f2757f02d29742dac /src/linguist
parent19d03aa01fbb513294f51479946406bb03b7486b (diff)
Linguist: Replace foreach with range-based for
Change-Id: I8b1aed7bc5f4f1d14ff9db4cf7c09fbc4267246d Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/linguist')
-rw-r--r--src/linguist/lconvert/main.cpp2
-rw-r--r--src/linguist/linguist/batchtranslationdialog.cpp3
-rw-r--r--src/linguist/linguist/formpreviewview.cpp17
-rw-r--r--src/linguist/linguist/mainwindow.cpp42
-rw-r--r--src/linguist/linguist/messageeditor.cpp34
-rw-r--r--src/linguist/linguist/messagemodel.cpp16
-rw-r--r--src/linguist/linguist/phrase.cpp2
-rw-r--r--src/linguist/linguist/phrasebookbox.cpp3
-rw-r--r--src/linguist/linguist/phraseview.cpp19
-rw-r--r--src/linguist/linguist/recentfiles.cpp13
-rw-r--r--src/linguist/linguist/translationsettingsdialog.cpp2
-rw-r--r--src/linguist/lprodump/main.cpp16
-rw-r--r--src/linguist/lrelease/main.cpp4
-rw-r--r--src/linguist/lupdate/cpp.cpp28
-rw-r--r--src/linguist/lupdate/main.cpp24
-rw-r--r--src/linguist/lupdate/merge.cpp8
-rw-r--r--src/linguist/lupdate/qdeclarative.cpp3
-rw-r--r--src/linguist/shared/po.cpp24
-rw-r--r--src/linguist/shared/profileevaluator.cpp13
-rw-r--r--src/linguist/shared/qm.cpp4
-rw-r--r--src/linguist/shared/qph.cpp2
-rw-r--r--src/linguist/shared/simtexth.cpp2
-rw-r--r--src/linguist/shared/translator.cpp26
-rw-r--r--src/linguist/shared/translator.h2
-rw-r--r--src/linguist/shared/translatormessage.cpp2
-rw-r--r--src/linguist/shared/translatormessage.h2
-rw-r--r--src/linguist/shared/ts.cpp14
-rw-r--r--src/linguist/shared/xliff.cpp11
28 files changed, 177 insertions, 161 deletions
diff --git a/src/linguist/lconvert/main.cpp b/src/linguist/lconvert/main.cpp
index 2dc07db51..8996f4247 100644
--- a/src/linguist/lconvert/main.cpp
+++ b/src/linguist/lconvert/main.cpp
@@ -49,7 +49,7 @@ static int usage(const QStringList &args)
QString loaders;
QString line(QLatin1String(" %1 - %2\n"));
- foreach (Translator::FileFormat format, Translator::registeredFileFormats())
+ for (const Translator::FileFormat &format : qAsConst(Translator::registeredFileFormats()))
loaders += line.arg(format.extension, -5).arg(format.description());
std::cout << qPrintable(LC::tr("\nUsage:\n"
diff --git a/src/linguist/linguist/batchtranslationdialog.cpp b/src/linguist/linguist/batchtranslationdialog.cpp
index 69208db7d..2543ed736 100644
--- a/src/linguist/linguist/batchtranslationdialog.cpp
+++ b/src/linguist/linguist/batchtranslationdialog.cpp
@@ -121,7 +121,8 @@ void BatchTranslationDialog::startTranslation()
QVariant checkState = m_model.data(idx, Qt::CheckStateRole);
if (checkState == Qt::Checked) {
PhraseBook *pb = m_phrasebooks[m_model.data(idx, Qt::UserRole).toInt()];
- foreach (const Phrase *ph, pb->phrases()) {
+ const auto phrases = pb->phrases();
+ for (const Phrase *ph : phrases) {
if (ph->source() == m->text()) {
m_dataModel->setTranslation(it, ph->target());
m_dataModel->setFinished(it, m_ui.ckMarkFinished->isChecked());
diff --git a/src/linguist/linguist/formpreviewview.cpp b/src/linguist/linguist/formpreviewview.cpp
index 7c5b24f6c..2446e0097 100644
--- a/src/linguist/linguist/formpreviewview.cpp
+++ b/src/linguist/linguist/formpreviewview.cpp
@@ -131,7 +131,8 @@ static void buildTargets(QObject *o, TargetsHash *targets)
{
TranslatableEntry target;
- foreach (const QByteArray &prop, o->dynamicPropertyNames()) {
+ const auto propNames = o->dynamicPropertyNames();
+ for (const QByteArray &prop : propNames) {
if (prop.startsWith(PROP_GENERIC_PREFIX)) {
const QByteArray propName = prop.mid(sizeof(PROP_GENERIC_PREFIX) - 1);
INSERT_TARGET(o->property(prop),
@@ -200,14 +201,14 @@ static void buildTargets(QObject *o, TargetsHash *targets)
registerTreeItem(treew->topLevelItem(i), targets);
#endif
}
- foreach (QObject *co, o->children())
+ for (QObject *co : o->children())
buildTargets(co, targets);
}
static void destroyTargets(TargetsHash *targets)
{
- for (TargetsHash::Iterator it = targets->begin(), end = targets->end(); it != end; ++it)
- foreach (const TranslatableEntry &target, *it)
+ for (TargetsHash::ConstIterator it = targets->cbegin(), end = targets->cend(); it != end; ++it)
+ for (const TranslatableEntry &target : *it)
if (target.type == TranslatableProperty)
delete target.prop.name;
targets->clear();
@@ -279,7 +280,7 @@ static void retranslateTargets(
if (text.isEmpty() && !tsv.value().isEmpty())
text = QLatin1Char('#') + sourceText;
- foreach (const TranslatableEntry &target, targets)
+ for (const TranslatableEntry &target : targets)
retranslateTarget(target, text);
}
@@ -376,7 +377,7 @@ static void highlightAction(QAction *a, bool on)
a->setProperty(FONT_BACKUP_PROP, QVariant());
}
}
- foreach (QWidget *w, a->associatedWidgets())
+ for (QWidget *w : a->associatedWidgets())
highlightWidget(w, on);
}
@@ -386,7 +387,7 @@ static void highlightWidget(QWidget *w, bool on)
if (on) {
if (!bak.isValid()) {
QPalette pal = qApp->palette();
- foreach (QObject *co, w->children())
+ for (QObject *co : w->children())
if (QWidget *cw = qobject_cast<QWidget *>(co))
cw->setPalette(cw->palette().resolve(pal));
w->setProperty(PALETTE_BACKUP_PROP, QVariant::fromValue(w->palette().resolve(pal)));
@@ -478,7 +479,7 @@ static void highlightTarget(const TranslatableEntry &target, bool on)
static void highlightTargets(const QList<TranslatableEntry> &targets, bool on)
{
- foreach (const TranslatableEntry &target, targets)
+ for (const TranslatableEntry &target : targets)
highlightTarget(target, on);
}
diff --git a/src/linguist/linguist/mainwindow.cpp b/src/linguist/linguist/mainwindow.cpp
index 6a49fae72..b31c27440 100644
--- a/src/linguist/linguist/mainwindow.cpp
+++ b/src/linguist/linguist/mainwindow.cpp
@@ -595,7 +595,7 @@ bool MainWindow::openFiles(const QStringList &names, bool globalReadWrite)
QList<OpenedFile> opened;
bool closeOld = false;
- foreach (QString name, names) {
+ for (QString name : names) {
if (!waitCursor) {
QApplication::setOverrideCursor(Qt::WaitCursor);
waitCursor = true;
@@ -655,7 +655,7 @@ bool MainWindow::openFiles(const QStringList &names, bool globalReadWrite)
{
case QMessageBox::Cancel:
delete dm;
- foreach (const OpenedFile &op, opened)
+ for (const OpenedFile &op : qAsConst(opened))
delete op.dataModel;
return false;
case QMessageBox::Yes:
@@ -675,13 +675,13 @@ bool MainWindow::openFiles(const QStringList &names, bool globalReadWrite)
waitCursor = false;
}
if (!closeAll()) {
- foreach (const OpenedFile &op, opened)
+ for (const OpenedFile &op : qAsConst(opened))
delete op.dataModel;
return false;
}
}
- foreach (const OpenedFile &op, opened) {
+ for (const OpenedFile &op : qAsConst(opened)) {
if (op.langGuessed) {
if (waitCursor) {
QApplication::restoreOverrideCursor();
@@ -699,7 +699,7 @@ bool MainWindow::openFiles(const QStringList &names, bool globalReadWrite)
m_contextView->setUpdatesEnabled(false);
m_messageView->setUpdatesEnabled(false);
int totalCount = 0;
- foreach (const OpenedFile &op, opened) {
+ for (const OpenedFile &op : qAsConst(opened)) {
m_phraseDict.append(QHash<QString, QList<Phrase *> >());
m_dataModel->append(op.dataModel, op.readWrite);
if (op.readWrite)
@@ -763,7 +763,7 @@ static QString fileFilters(bool allFirst)
static const QString pattern(QLatin1String("%1 (*.%2);;"));
QStringList allExtensions;
QString filter;
- foreach (const Translator::FileFormat &format, Translator::registeredFileFormats()) {
+ for (const Translator::FileFormat &format : qAsConst(Translator::registeredFileFormats())) {
if (format.fileType == Translator::FileFormat::TranslationSource && format.priority >= 0) {
filter.append(pattern.arg(format.description(), format.extension));
allExtensions.append(QLatin1String("*.") + format.extension);
@@ -1020,7 +1020,8 @@ void MainWindow::findAgain()
if (searchItem(DataModel::Comments, m->extraComment()))
break;
}
- foreach (const QString &trans, m->translations())
+ const auto translations = m->translations();
+ for (const QString &trans : translations)
if (searchItem(DataModel::Translations, trans))
goto didfind;
if (searchItem(DataModel::Comments, m->translatorComment()))
@@ -1183,7 +1184,7 @@ void MainWindow::newPhraseBook()
bool MainWindow::isPhraseBookOpen(const QString &name)
{
- foreach(const PhraseBook *pb, m_phraseBooks) {
+ for (const PhraseBook *pb : qAsConst(m_phraseBooks)) {
if (pb->fileName() == name)
return true;
}
@@ -1252,7 +1253,8 @@ void MainWindow::printPhraseBook(QAction *action)
statusBar()->showMessage(tr("Printing..."));
PrintOut pout(printer());
pout.setRule(PrintOut::ThinRule);
- foreach (const Phrase *p, phraseBook->phrases()) {
+ const auto phrases = phraseBook->phrases();
+ for (const Phrase *p : phrases) {
pout.setGuide(p->source());
pout.addBox(29, p->source());
pout.addBox(4);
@@ -1279,7 +1281,7 @@ void MainWindow::addToPhraseBook()
{
QStringList phraseBookList;
QHash<QString, PhraseBook *> phraseBookHash;
- foreach (PhraseBook *pb, m_phraseBooks) {
+ for (PhraseBook *pb : qAsConst(m_phraseBooks)) {
if (pb->language() != QLocale::C && m_dataModel->language(m_currentIndex.model()) != QLocale::C) {
if (pb->language() != m_dataModel->language(m_currentIndex.model()))
continue;
@@ -2378,7 +2380,7 @@ bool MainWindow::maybeSavePhraseBook(PhraseBook *pb)
bool MainWindow::maybeSavePhraseBooks()
{
- foreach(PhraseBook *phraseBook, m_phraseBooks)
+ for (PhraseBook *phraseBook : qAsConst(m_phraseBooks))
if (!maybeSavePhraseBook(phraseBook))
return false;
return true;
@@ -2419,7 +2421,7 @@ void MainWindow::updatePhraseDictInternal(int model)
QHash<QString, QList<Phrase *> > &pd = m_phraseDict[model];
pd.clear();
- foreach (PhraseBook *pb, m_phraseBooks) {
+ for (PhraseBook *pb : qAsConst(m_phraseBooks)) {
bool before;
if (pb->language() != QLocale::C && m_dataModel->language(model) != QLocale::C) {
if (pb->language() != m_dataModel->language(model))
@@ -2428,7 +2430,8 @@ void MainWindow::updatePhraseDictInternal(int model)
} else {
before = false;
}
- foreach (Phrase *p, pb->phrases()) {
+ const auto phrases = pb->phrases();
+ for (Phrase *p : phrases) {
QString f = friendlyString(p->source());
if (f.length() > 0) {
f = f.split(QLatin1Char(' ')).first();
@@ -2566,10 +2569,11 @@ void MainWindow::updateDanger(const MultiDataIndex &index, bool verbose)
QStringList lookupWords = fsource.split(QLatin1Char(' '));
bool phraseFound;
- foreach (const QString &s, lookupWords) {
+ for (const QString &s : qAsConst(lookupWords)) {
if (m_phraseDict[mi].contains(s)) {
phraseFound = true;
- foreach (const Phrase *p, m_phraseDict[mi].value(s)) {
+ const auto phrases = m_phraseDict[mi].value(s);
+ for (const Phrase *p : phrases) {
if (fsource == friendlyString(p->source())) {
if (ftranslation.indexOf(friendlyString(p->target())) >= 0) {
phraseFound = true;
@@ -2625,7 +2629,7 @@ void MainWindow::updateDanger(const MultiDataIndex &index, bool verbose)
}
}
- foreach (int i, placeMarkerIndexes) {
+ for (int i : qAsConst(placeMarkerIndexes)) {
if (i != 0) {
if (verbose)
m_errorsView->addError(mi, ErrorsView::PlaceMarkersDiffer);
@@ -2732,7 +2736,7 @@ void MainWindow::writeConfig()
void MainWindow::setupRecentFilesMenu()
{
m_ui.menuRecentlyOpenedFiles->clear();
- foreach (const QStringList &strList, recentFiles().filesLists())
+ for (const QStringList &strList : recentFiles().filesLists())
if (strList.size() == 1) {
const QString &str = strList.first();
m_ui.menuRecentlyOpenedFiles->addAction(
@@ -2742,7 +2746,7 @@ void MainWindow::setupRecentFilesMenu()
MultiDataModel::condenseFileNames(
MultiDataModel::prettifyFileNames(strList)));
menu->addAction(tr("All"))->setData(strList);
- foreach (const QString &str, strList)
+ for (const QString &str : strList)
menu->addAction(DataModel::prettifyFileName(str))->setData(str);
}
}
@@ -2815,7 +2819,7 @@ bool MainWindow::eventFilter(QObject *object, QEvent *event)
if (!e->mimeData()->hasFormat(QLatin1String("text/uri-list")))
return false;
QStringList urls;
- foreach (QUrl url, e->mimeData()->urls())
+ for (const QUrl &url : e->mimeData()->urls())
if (!url.toLocalFile().isEmpty())
urls << url.toLocalFile();
if (!urls.isEmpty())
diff --git a/src/linguist/linguist/messageeditor.cpp b/src/linguist/linguist/messageeditor.cpp
index d1bc155c1..1a126da7a 100644
--- a/src/linguist/linguist/messageeditor.cpp
+++ b/src/linguist/linguist/messageeditor.cpp
@@ -211,7 +211,7 @@ void MessageEditor::messageModelAppended()
void MessageEditor::allModelsDeleted()
{
- foreach (const MessageEditorData &med, m_editors)
+ for (const MessageEditorData &med : qAsConst(m_editors))
med.container->deleteLater();
m_editors.clear();
m_currentModel = -1;
@@ -312,9 +312,9 @@ void MessageEditor::fixTabOrder()
void MessageEditor::reallyFixTabOrder()
{
QWidget *prev = this;
- foreach (const MessageEditorData &med, m_editors) {
- foreach (FormMultiWidget *fmw, med.transTexts)
- foreach (QTextEdit *te, fmw->getEditors()) {
+ for (const MessageEditorData &med : qAsConst(m_editors)) {
+ for (FormMultiWidget *fmw : med.transTexts)
+ for (QTextEdit *te : fmw->getEditors()) {
setTabOrder(prev, te);
prev = te;
}
@@ -397,7 +397,7 @@ void MessageEditor::activeModelAndNumerus(int *model, int *numerus) const
{
for (int j = 0; j < m_editors.count(); ++j) {
for (int i = 0; i < m_editors[j].transTexts.count(); ++i)
- foreach (QTextEdit *te, m_editors[j].transTexts[i]->getEditors())
+ for (QTextEdit *te : m_editors[j].transTexts[i]->getEditors())
if (m_focusWidget == te) {
*model = j;
*numerus = i;
@@ -419,7 +419,7 @@ QTextEdit *MessageEditor::activeTranslation() const
return 0;
const QList<FormatTextEdit *> &editors =
m_editors[m_currentModel].transTexts[m_currentNumerus]->getEditors();
- foreach (QTextEdit *te, editors)
+ for (QTextEdit *te : editors)
if (te->hasFocus())
return te;
return editors.first();
@@ -485,7 +485,7 @@ MessageEditorData *MessageEditor::modelForWidget(const QObject *o)
{
for (int j = 0; j < m_editors.count(); ++j) {
for (int i = 0; i < m_editors[j].transTexts.count(); ++i)
- foreach (QTextEdit *te, m_editors[j].transTexts[i]->getEditors())
+ for (QTextEdit *te : m_editors[j].transTexts[i]->getEditors())
if (te == o)
return &m_editors[j];
if (m_editors[j].transCommentText->getEditor() == o)
@@ -568,7 +568,7 @@ void MessageEditor::showNothing()
m_commentText->clearTranslation();
for (int j = 0; j < m_editors.count(); ++j) {
setEditingEnabled(j, false);
- foreach (FormMultiWidget *widget, m_editors[j].transTexts)
+ for (FormMultiWidget *widget : qAsConst(m_editors[j].transTexts))
widget->clearTranslation();
m_editors[j].transCommentText->clearTranslation();
}
@@ -683,7 +683,7 @@ void MessageEditor::setTranslation(int latestModel, const QString &translation)
void MessageEditor::setEditingEnabled(int model, bool enabled)
{
MessageEditorData &ed = m_editors[model];
- foreach (FormMultiWidget *widget, ed.transTexts)
+ for (FormMultiWidget *widget : qAsConst(ed.transTexts))
widget->setEditingEnabled(enabled);
ed.transCommentText->setEditingEnabled(enabled);
@@ -695,8 +695,8 @@ void MessageEditor::setEditingEnabled(int model, bool enabled)
void MessageEditor::setLengthVariants(bool on)
{
m_lengthVariants = on;
- foreach (const MessageEditorData &ed, m_editors)
- foreach (FormMultiWidget *widget, ed.transTexts)
+ for (const MessageEditorData &ed : qAsConst(m_editors))
+ for (FormMultiWidget *widget : ed.transTexts)
widget->setMultiEnabled(on);
}
@@ -882,10 +882,10 @@ void MessageEditor::setVisualizeWhitespace(bool value)
m_pluralSource->getEditor()->setVisualizeWhitespace(value);
m_commentText->getEditor()->setVisualizeWhitespace(value);
- foreach (const MessageEditorData &med, m_editors) {
+ for (const MessageEditorData &med : qAsConst(m_editors)) {
med.transCommentText->getEditor()->setVisualizeWhitespace(value);
- foreach (FormMultiWidget *widget, med.transTexts)
- foreach (FormatTextEdit *te, widget->getEditors())
+ for (FormMultiWidget *widget : med.transTexts)
+ for (FormatTextEdit *te : widget->getEditors())
te->setVisualizeWhitespace(value);
}
}
@@ -912,9 +912,9 @@ void MessageEditor::applyFontSize()
m_pluralSource->getEditor()->setFont(font);
m_commentText->getEditor()->setFont(font);
- foreach (MessageEditorData med, m_editors) {
- for (int i = 0; i < med.transTexts.count(); ++i)
- foreach (QTextEdit *te, med.transTexts[i]->getEditors())
+ for (const MessageEditorData &med : qAsConst(m_editors)) {
+ for (FormMultiWidget *fmw : med.transTexts)
+ for (QTextEdit *te : fmw->getEditors())
te->setFont(font);
med.transCommentText->getEditor()->setFont(font);
}
diff --git a/src/linguist/linguist/messagemodel.cpp b/src/linguist/linguist/messagemodel.cpp
index c241a5be3..faa4b2a0a 100644
--- a/src/linguist/linguist/messagemodel.cpp
+++ b/src/linguist/linguist/messagemodel.cpp
@@ -203,18 +203,18 @@ bool DataModel::load(const QString &fileName, bool *langGuessed, QWidget *parent
return false;
}
- Translator::Duplicates dupes = tor.resolveDuplicates();
+ const Translator::Duplicates dupes = tor.resolveDuplicates();
if (!dupes.byId.isEmpty() || !dupes.byContents.isEmpty()) {
QString err = tr("<qt>Duplicate messages found in '%1':").arg(fileName.toHtmlEscaped());
int numdups = 0;
- foreach (int i, dupes.byId) {
+ for (int i : dupes.byId) {
if (++numdups >= 5) {
err += tr("<p>[more duplicates omitted]");
goto doWarn;
}
err += tr("<p>* ID: %1").arg(tor.message(i).id().toHtmlEscaped());
}
- foreach (int j, dupes.byContents) {
+ for (int j : dupes.byContents) {
const TranslatorMessage &msg = tor.message(j);
if (++numdups >= 5) {
err += tr("<p>[more duplicates omitted]");
@@ -241,7 +241,7 @@ bool DataModel::load(const QString &fileName, bool *langGuessed, QWidget *parent
m_srcChars = 0;
m_srcCharsSpc = 0;
- foreach (const TranslatorMessage &msg, tor.messages()) {
+ for (const TranslatorMessage &msg : tor.messages()) {
if (!contexts.contains(msg.context())) {
contexts.insert(msg.context(), m_contextList.size());
m_contextList.append(ContextItem(msg.context()));
@@ -609,7 +609,7 @@ void MultiContextItem::appendMessageItems(const QList<MessageItem *> &m)
for (int i = 0; i < m_messageLists.count() - 1; ++i)
m_messageLists[i] += nullItems;
m_messageLists.last() += m;
- foreach (MessageItem *mi, m)
+ for (MessageItem *mi : m)
m_multiMessageList.append(MultiMessageItem(mi));
}
@@ -860,7 +860,7 @@ QStringList MultiDataModel::prettifyFileNames(const QStringList &names)
{
QStringList out;
- foreach (const QString &name, names)
+ for (const QString &name : names)
out << DataModel::prettifyFileName(name);
return out;
}
@@ -925,7 +925,7 @@ QString MultiDataModel::condenseFileNames(const QStringList &names)
QStringList MultiDataModel::srcFileNames(bool pretty) const
{
QStringList names;
- foreach (DataModel *dm, m_dataModels)
+ for (DataModel *dm : m_dataModels)
names << (dm->isWritable() ? QString() : QString::fromLatin1("=")) + dm->srcFileName(pretty);
return names;
}
@@ -937,7 +937,7 @@ QString MultiDataModel::condensedSrcFileNames(bool pretty) const
bool MultiDataModel::isModified() const
{
- foreach (const DataModel *mdl, m_dataModels)
+ for (const DataModel *mdl : m_dataModels)
if (mdl->isModified())
return true;
return false;
diff --git a/src/linguist/linguist/phrase.cpp b/src/linguist/linguist/phrase.cpp
index 2571c56ea..1d4688d4d 100644
--- a/src/linguist/linguist/phrase.cpp
+++ b/src/linguist/linguist/phrase.cpp
@@ -276,7 +276,7 @@ bool PhraseBook::save(const QString &fileName)
if (language() != QLocale::C)
t << " language=\"" << Translator::makeLanguageCode(language(), country()) << '"';
t << ">\n";
- foreach (Phrase *p, m_phrases) {
+ for (Phrase *p : qAsConst(m_phrases)) {
t << "<phrase>\n";
t << " <source>" << protect( p->source() ) << "</source>\n";
t << " <target>" << protect( p->target() ) << "</target>\n";
diff --git a/src/linguist/linguist/phrasebookbox.cpp b/src/linguist/linguist/phrasebookbox.cpp
index dc6215f21..60f8f25c4 100644
--- a/src/linguist/linguist/phrasebookbox.cpp
+++ b/src/linguist/linguist/phrasebookbox.cpp
@@ -91,7 +91,8 @@ PhraseBookBox::PhraseBookBox(PhraseBook *phraseBook, QWidget *parent)
targetLed->installEventFilter(this);
definitionLed->installEventFilter(this);
- foreach (Phrase *p, phraseBook->phrases())
+ const auto phrases = phraseBook->phrases();
+ for (Phrase *p : phrases)
phrMdl->addPhrase(p);
phraseList->sortByColumn(0, Qt::AscendingOrder);
diff --git a/src/linguist/linguist/phraseview.cpp b/src/linguist/linguist/phraseview.cpp
index 03fbc7390..9c7a4f966 100644
--- a/src/linguist/linguist/phraseview.cpp
+++ b/src/linguist/linguist/phraseview.cpp
@@ -139,7 +139,8 @@ void PhraseView::mouseDoubleClickEvent(QMouseEvent *event)
void PhraseView::guessShortcut(int key)
{
- foreach (const Phrase *phrase, m_phraseModel->phraseList())
+ const auto phrases = m_phraseModel->phraseList();
+ for (const Phrase *phrase : phrases)
if (phrase->shortcut() == key) {
emit phraseSelected(m_modelIndex, phrase->target());
return;
@@ -249,14 +250,15 @@ void PhraseView::setSourceText(int model, const QString &sourceText)
if (model < 0)
return;
- foreach (Phrase *p, getPhrases(model, sourceText))
+ const auto phrases = getPhrases(model, sourceText);
+ for (Phrase *p : phrases)
m_phraseModel->addPhrase(p);
if (!sourceText.isEmpty() && m_doGuesses) {
- CandidateList cl = similarTextHeuristicCandidates(m_dataModel, model,
+ const CandidateList cl = similarTextHeuristicCandidates(m_dataModel, model,
sourceText.toLatin1(), m_maxCandidates);
int n = 0;
- foreach (const Candidate &candidate, cl) {
+ for (const Candidate &candidate : cl) {
QString def;
if (n < 9)
def = tr("Guess from '%1' (%2)")
@@ -275,12 +277,13 @@ void PhraseView::setSourceText(int model, const QString &sourceText)
QList<Phrase *> PhraseView::getPhrases(int model, const QString &source)
{
QList<Phrase *> phrases;
- QString f = MainWindow::friendlyString(source);
- QStringList lookupWords = f.split(QLatin1Char(' '));
+ const QString f = MainWindow::friendlyString(source);
+ const QStringList lookupWords = f.split(QLatin1Char(' '));
- foreach (const QString &s, lookupWords) {
+ for (const QString &s : lookupWords) {
if (m_phraseDict->at(model).contains(s)) {
- foreach (Phrase *p, m_phraseDict->at(model).value(s)) {
+ const auto phraseList = m_phraseDict->at(model).value(s);
+ for (Phrase *p : phraseList) {
if (f.contains(MainWindow::friendlyString(p->source())))
phrases.append(p);
}
diff --git a/src/linguist/linguist/recentfiles.cpp b/src/linguist/linguist/recentfiles.cpp
index 07f61dd18..703fdf2d7 100644
--- a/src/linguist/linguist/recentfiles.cpp
+++ b/src/linguist/linguist/recentfiles.cpp
@@ -115,18 +115,21 @@ void RecentFiles::readConfig()
{
m_strLists.clear();
QVariant val = QSettings().value(configKey());
- if (val.type() == QVariant::StringList) // Backwards compat to Qt < 4.5
- foreach (const QString &s, val.toStringList())
+ if (val.type() == QVariant::StringList) { // Backwards compat to Qt < 4.5
+ const auto stringList = val.toStringList();
+ for (const QString &s : stringList)
m_strLists << QStringList(QFileInfo(s).canonicalFilePath());
- else
- foreach (const QVariant &v, val.toList())
+ } else {
+ const auto list = val.toList();
+ for (const QVariant &v : list)
m_strLists << v.toStringList();
+ }
}
void RecentFiles::writeConfig() const
{
QList<QVariant> vals;
- foreach (const QStringList &sl, m_strLists)
+ for (const QStringList &sl : m_strLists)
vals << sl;
QSettings().setValue(configKey(), vals);
}
diff --git a/src/linguist/linguist/translationsettingsdialog.cpp b/src/linguist/linguist/translationsettingsdialog.cpp
index 5c567e59a..919258c6e 100644
--- a/src/linguist/linguist/translationsettingsdialog.cpp
+++ b/src/linguist/linguist/translationsettingsdialog.cpp
@@ -79,7 +79,7 @@ static void fillCountryCombo(const QVariant &lng, QComboBox *combo)
combo->clear();
QLocale::Language lang = QLocale::Language(lng.toInt());
if (lang != QLocale::C) {
- foreach (QLocale::Country cntr, QLocale::countriesForLanguage(lang)) {
+ for (QLocale::Country cntr : QLocale::countriesForLanguage(lang)) {
QString country = QLocale::countryToString(cntr);
auto loc = QLocale(lang, cntr);
if (loc.language() != QLocale::English) {
diff --git a/src/linguist/lprodump/main.cpp b/src/linguist/lprodump/main.cpp
index a7fb56deb..85eedd8e4 100644
--- a/src/linguist/lprodump/main.cpp
+++ b/src/linguist/lprodump/main.cpp
@@ -195,16 +195,16 @@ static QStringList getSources(const ProFileEvaluator &visitor, const QString &pr
sourceFiles += getSources("FORMS", "VPATH_FORMS", baseVPaths, projectDir, visitor);
- QStringList resourceFiles = getSources("RESOURCES", "VPATH_RESOURCES", baseVPaths, projectDir, visitor);
- foreach (const QString &resource, resourceFiles)
+ const QStringList resourceFiles = getSources("RESOURCES", "VPATH_RESOURCES", baseVPaths, projectDir, visitor);
+ for (const QString &resource : resourceFiles)
sourceFiles += getResources(resource, vfs);
QStringList installs = visitor.values(QLatin1String("INSTALLS"))
+ visitor.values(QLatin1String("DEPLOYMENT"));
installs.removeDuplicates();
QDir baseDir(projectDir);
- foreach (const QString inst, installs) {
- foreach (const QString &file, visitor.values(inst + QLatin1String(".files"))) {
+ for (const QString &inst : qAsConst(installs)) {
+ for (const QString &file : visitor.values(inst + QLatin1String(".files"))) {
QFileInfo info(file);
if (!info.isAbsolute())
info.setFile(baseDir.absoluteFilePath(file));
@@ -233,7 +233,7 @@ static QStringList getSources(const ProFileEvaluator &visitor, const QString &pr
sourceFiles.removeDuplicates();
sourceFiles.sort();
- foreach (const QString &ex, excludes) {
+ 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(); ) {
@@ -260,7 +260,7 @@ QStringList getExcludes(const ProFileEvaluator &visitor, const QString &projectD
static void excludeProjects(const ProFileEvaluator &visitor, QStringList *subProjects)
{
- foreach (const QString &ex, visitor.values(QLatin1String("TR_EXCLUDE"))) {
+ for (const QString &ex : visitor.values(QLatin1String("TR_EXCLUDE"))) {
QRegularExpression rx(QRegularExpression::wildcardToRegularExpression(ex));
for (QStringList::Iterator it = subProjects->begin(); it != subProjects->end(); ) {
if (rx.match(*it).hasMatch())
@@ -289,7 +289,7 @@ static QJsonObject processProject(const QString &proFile, ProFileGlobals *option
excludeProjects(visitor, &subProjects);
QStringList subProFiles;
QDir proDir(proPath);
- foreach (const QString &subdir, subProjects) {
+ for (const QString &subdir : qAsConst(subProjects)) {
QString realdir = visitor.value(subdir + QLatin1String(".subdir"));
if (realdir.isEmpty())
realdir = visitor.value(subdir + QLatin1String(".file"));
@@ -325,7 +325,7 @@ static QJsonArray processProjects(bool topLevel, const QStringList &proFiles,
ProFileGlobals *option, QMakeVfs *vfs, QMakeParser *parser, bool *fail)
{
QJsonArray result;
- foreach (const QString &proFile, proFiles) {
+ for (const QString &proFile : proFiles) {
if (!outDirMap.isEmpty())
option->setDirectories(QFileInfo(proFile).path(), outDirMap[proFile]);
diff --git a/src/linguist/lrelease/main.cpp b/src/linguist/lrelease/main.cpp
index 861b4cfde..b63c21dc6 100644
--- a/src/linguist/lrelease/main.cpp
+++ b/src/linguist/lrelease/main.cpp
@@ -164,7 +164,7 @@ static bool releaseTsFile(const QString& tsFileName,
return false;
QString qmFileName = tsFileName;
- foreach (const Translator::FileFormat &fmt, Translator::registeredFileFormats()) {
+ for (const Translator::FileFormat &fmt : qAsConst(Translator::registeredFileFormats())) {
if (qmFileName.endsWith(QLatin1Char('.') + fmt.extension)) {
qmFileName.chop(fmt.extension.length() + 1);
break;
@@ -305,7 +305,7 @@ int main(int argc, char **argv)
inputFiles = translationsFromProjects(projectDescription);
}
- foreach (const QString &inputFile, inputFiles) {
+ for (const QString &inputFile : qAsConst(inputFiles)) {
if (outputFile.isEmpty()) {
if (!releaseTsFile(inputFile, cd, removeIdentical))
return 1;
diff --git a/src/linguist/lupdate/cpp.cpp b/src/linguist/lupdate/cpp.cpp
index 11eda3df2..bbab74649 100644
--- a/src/linguist/lupdate/cpp.cpp
+++ b/src/linguist/lupdate/cpp.cpp
@@ -56,7 +56,7 @@ size_t qHash(const HashStringList &list)
{
if (list.m_hash & 0x80000000) {
uint hash = 0;
- foreach (const HashString &qs, list.m_list) {
+ for (const HashString &qs : list.m_list) {
hash ^= qHash(qs) ^ 0x6ad9f526;
hash = ((hash << 13) & 0x7fffffff) | (hash >> 18);
}
@@ -988,7 +988,7 @@ bool CppParser::visitNamespace(const NamespaceList &namespaces, int nsCount,
if ((this->*callback)(ns, context))
return true;
supers:
- foreach (const ParseResults *sup, rslt->includes)
+ for (const ParseResults *sup : rslt->includes)
if (vr.tryVisit(sup->fileId)
&& visitNamespace(namespaces, nsCount, callback, context, vr, sup))
return true;
@@ -1045,7 +1045,7 @@ bool CppParser::qualifyOneCallbackOwn(const Namespace *ns, void *context) const
bool CppParser::qualifyOneCallbackUsing(const Namespace *ns, void *context) const
{
QualifyOneData *data = (QualifyOneData *)context;
- foreach (const HashStringList &use, ns->usings)
+ for (const HashStringList &use : ns->usings)
if (!data->visitedUsings->contains(use)) {
data->visitedUsings->insert(use);
if (qualifyOne(use.value(), use.value().count(), data->segment, data->resolved,
@@ -1130,7 +1130,7 @@ bool CppParser::fullyQualify(const NamespaceList &namespaces,
static QString strColons(QLatin1String("::"));
NamespaceList segments;
- foreach (const QString &str, quali.split(strColons)) // XXX slow, but needs to be fast(?)
+ for (const QString &str : quali.split(strColons)) // XXX slow, but needs to be fast(?)
segments << HashString(str);
return fullyQualify(namespaces, segments, isDeclaration, resolved, unresolved);
}
@@ -1237,7 +1237,7 @@ void CppFiles::addIncludeCycle(const QSet<QString> &fileNames)
cycle->fileNames = fileNames;
QSet<IncludeCycle *> intersectingCycles;
- foreach (const QString &fileName, fileNames) {
+ for (const QString &fileName : fileNames) {
IncludeCycle *intersectingCycle = includeCycles().value(fileName);
if (intersectingCycle && !intersectingCycles.contains(intersectingCycle)) {
@@ -1249,7 +1249,7 @@ void CppFiles::addIncludeCycle(const QSet<QString> &fileNames)
}
qDeleteAll(intersectingCycles);
- foreach (const QString &fileName, cycle->fileNames)
+ for (const QString &fileName : qAsConst(cycle->fileNames))
includeCycles().insert(fileName, cycle);
}
@@ -1264,7 +1264,7 @@ void CppParser::processInclude(const QString &file, ConversionData &cd, const QS
{
QString cleanFile = QDir::cleanPath(file);
- foreach (const QString &ex, cd.m_excludes) {
+ for (const QString &ex : qAsConst(cd.m_excludes)) {
QRegularExpression rx(QRegularExpression::wildcardToRegularExpression(ex));
if (rx.match(cleanFile).hasMatch())
return;
@@ -1308,7 +1308,7 @@ void CppParser::processInclude(const QString &file, ConversionData &cd, const QS
inclusions.insert(cleanFile);
if (isIndirect) {
CppParser parser;
- foreach (const QString &projectRoot, cd.m_projectRoots)
+ for (const QString &projectRoot : qAsConst(cd.m_projectRoots))
if (cleanFile.startsWith(projectRoot)) {
parser.setTranslator(new Translator);
break;
@@ -1705,13 +1705,13 @@ void CppParser::parseInternal(ConversionData &cd, const QStringList &includeStac
}
Q_FALLTHROUGH();
case Tok_AngledInclude: {
- QStringList cSources = cd.m_allCSources.values(yyWord);
+ const QStringList cSources = cd.m_allCSources.values(yyWord);
if (!cSources.isEmpty()) {
- foreach (const QString &cSource, cSources)
+ for (const QString &cSource : cSources)
processInclude(cSource, cd, includeStack, inclusions);
goto incOk;
}
- foreach (const QString &incPath, cd.m_includePath) {
+ for (const QString &incPath : qAsConst(cd.m_includePath)) {
text = QDir(incPath).absoluteFilePath(yyWord);
text.detach();
if (QFileInfo(text).isFile()) {
@@ -2228,7 +2228,7 @@ void loadCPP(Translator &translator, const QStringList &filenames, ConversionDat
{
QStringConverter::Encoding e = cd.m_sourceIsUtf16 ? QStringConverter::Utf16 : QStringConverter::Utf8;
- foreach (const QString &filename, filenames) {
+ for (const QString &filename : filenames) {
if (!CppFiles::getResults(filename).isEmpty() || CppFiles::isBlacklisted(filename))
continue;
@@ -2250,10 +2250,10 @@ void loadCPP(Translator &translator, const QStringList &filenames, ConversionDat
parser.recordResults(isHeader(filename));
}
- foreach (const QString &filename, filenames) {
+ for (const QString &filename : filenames) {
if (!CppFiles::isBlacklisted(filename)) {
if (const Translator *tor = CppFiles::getTranslator(filename)) {
- foreach (const TranslatorMessage &msg, tor->messages())
+ for (const TranslatorMessage &msg : tor->messages())
translator.extend(msg, cd);
}
}
diff --git a/src/linguist/lupdate/main.cpp b/src/linguist/lupdate/main.cpp
index 3a3ff76a8..540dbb920 100644
--- a/src/linguist/lupdate/main.cpp
+++ b/src/linguist/lupdate/main.cpp
@@ -112,7 +112,7 @@ void TrFunctionAliasManager::ensureTrFunctionHashUpdated() const
QHash<QString, TrFunction> nameToTrFunctionMap;
for (int i = 0; i < NumTrFunctions; ++i)
- foreach (const QString &alias, m_trFunctionAliases[i])
+ for (const QString &alias : m_trFunctionAliases[i])
nameToTrFunctionMap[alias] = TrFunction(i);
// commit:
m_nameToTrFunctionMap.swap(nameToTrFunctionMap);
@@ -208,7 +208,7 @@ static void recursiveFileInfoList(const QDir &dir,
const QSet<QString> &nameFilters, QDir::Filters filter,
QFileInfoList *fileinfolist)
{
- foreach (const QFileInfo &fi, dir.entryInfoList(filter))
+ for (const QFileInfo &fi : dir.entryInfoList(filter))
if (fi.isDir())
recursiveFileInfoList(QDir(fi.absoluteFilePath()), nameFilters, filter, fileinfolist);
else if (nameFilters.contains(fi.suffix()))
@@ -299,7 +299,7 @@ static void printUsage()
static bool handleTrFunctionAliases(const QString &arg)
{
- foreach (const QString &pair, arg.split(QLatin1Char(','), Qt::SkipEmptyParts)) {
+ for (const QString &pair : arg.split(QLatin1Char(','), Qt::SkipEmptyParts)) {
const int equalSign = pair.indexOf(QLatin1Char('='));
if (equalSign < 0) {
printErr(LU::tr("tr-function mapping '%1' in -tr-function-alias is missing the '='.\n").arg(pair));
@@ -340,7 +340,7 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil
}
QList<Translator> aliens;
- foreach (const QString &fileName, alienFiles) {
+ for (const QString &fileName : alienFiles) {
ConversionData cd;
Translator tor;
if (!tor.load(fileName, cd, QLatin1String("auto"))) {
@@ -354,7 +354,7 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil
QDir dir;
QString err;
- foreach (const QString &fileName, tsFileNames) {
+ for (const QString &fileName : tsFileNames) {
QString fn = dir.relativeFilePath(fileName);
ConversionData cd;
Translator tor;
@@ -476,11 +476,11 @@ static QStringList getResources(const QString &resourceFile)
static bool processTs(Translator &fetchedTor, const QString &file, ConversionData &cd)
{
- foreach (const Translator::FileFormat &fmt, Translator::registeredFileFormats()) {
+ for (const Translator::FileFormat &fmt : qAsConst(Translator::registeredFileFormats())) {
if (file.endsWith(QLatin1Char('.') + fmt.extension, Qt::CaseInsensitive)) {
Translator tor;
if (tor.load(file, cd, fmt.extension)) {
- foreach (TranslatorMessage msg, tor.messages()) {
+ for (TranslatorMessage msg : tor.messages()) {
msg.setType(TranslatorMessage::Unfinished);
msg.setTranslations(QStringList());
msg.setTranslatorComment(QString());
@@ -900,9 +900,9 @@ int main(int argc, char **argv)
files << arg;
}
if (metTsFlag) {
- foreach (const QString &file, files) {
+ for (const QString &file : qAsConst(files)) {
bool found = false;
- foreach (const Translator::FileFormat &fmt, Translator::registeredFileFormats()) {
+ for (const Translator::FileFormat &fmt : qAsConst(Translator::registeredFileFormats())) {
if (file.endsWith(QLatin1Char('.') + fmt.extension, Qt::CaseInsensitive)) {
QFileInfo fi(file);
if (!fi.exists() || fi.isWritable()) {
@@ -925,7 +925,7 @@ int main(int argc, char **argv)
} else if (metXTsFlag) {
alienFiles += files;
} else {
- foreach (const QString &file, files) {
+ for (const QString &file : qAsConst(files)) {
QFileInfo fi(file);
if (!fi.exists()) {
printErr(LU::tr("lupdate error: File '%1' does not exist.\n").arg(file));
@@ -940,7 +940,7 @@ int main(int argc, char **argv)
QDir dir = QDir(fi.filePath());
projectRoots.insert(dir.absolutePath() + QLatin1Char('/'));
if (extensionsNameFilters.isEmpty()) {
- foreach (QString ext, extensions.split(QLatin1Char(','))) {
+ for (QString ext : extensions.split(QLatin1Char(','))) {
ext = ext.trimmed();
if (ext.startsWith(QLatin1Char('.')))
ext.remove(0, 1);
@@ -953,7 +953,7 @@ int main(int argc, char **argv)
QFileInfoList fileinfolist;
recursiveFileInfoList(dir, extensionsNameFilters, filters, &fileinfolist);
int scanRootLen = dir.absolutePath().length();
- foreach (const QFileInfo &fi, fileinfolist) {
+ for (const QFileInfo &fi : qAsConst(fileinfolist)) {
QString fn = QDir::cleanPath(fi.absoluteFilePath());
if (fn.endsWith(QLatin1String(".qrc"), Qt::CaseInsensitive)) {
resourceFiles << fn;
diff --git a/src/linguist/lupdate/merge.cpp b/src/linguist/lupdate/merge.cpp
index d9ea5dc96..8473e332a 100644
--- a/src/linguist/lupdate/merge.cpp
+++ b/src/linguist/lupdate/merge.cpp
@@ -325,7 +325,7 @@ Translator merge(
The types of all the messages from the vernacular translator
are updated according to the virgin translator.
*/
- foreach (TranslatorMessage m, tor.messages()) {
+ for (TranslatorMessage m : tor.messages()) {
TranslatorMessage::Type newType = TranslatorMessage::Finished;
if (m.sourceText().isEmpty() && m.id().isEmpty()) {
@@ -446,7 +446,7 @@ Translator merge(
Messages found only in the virgin translator are added to the
vernacular translator.
*/
- foreach (const TranslatorMessage &mv, virginTor.messages()) {
+ for (const TranslatorMessage &mv : virginTor.messages()) {
if (mv.sourceText().isEmpty() && mv.id().isEmpty()) {
if (tor.find(mv.context()) >= 0)
continue;
@@ -477,8 +477,8 @@ Translator merge(
/*
"Alien" translators can be used to augment the vernacular translator.
*/
- foreach (const Translator &alf, aliens) {
- foreach (TranslatorMessage mv, alf.messages()) {
+ for (const Translator &alf : aliens) {
+ for (TranslatorMessage mv : alf.messages()) {
if (mv.sourceText().isEmpty() || !mv.isTranslated())
continue;
int mvi = outTor.find(mv);
diff --git a/src/linguist/lupdate/qdeclarative.cpp b/src/linguist/lupdate/qdeclarative.cpp
index 903641f9f..753c239ad 100644
--- a/src/linguist/lupdate/qdeclarative.cpp
+++ b/src/linguist/lupdate/qdeclarative.cpp
@@ -276,7 +276,8 @@ QString createErrorString(const QString &filename, const QString &code, Parser &
lines.append(QLatin1String("\n")); // sentinel.
QString errorString;
- foreach (const DiagnosticMessage &m, parser.diagnosticMessages()) {
+ const auto messages = parser.diagnosticMessages();
+ for (const DiagnosticMessage &m : messages) {
if (m.isWarning())
continue;
diff --git a/src/linguist/shared/po.cpp b/src/linguist/shared/po.cpp
index dd6fcbbf2..221d84853 100644
--- a/src/linguist/shared/po.cpp
+++ b/src/linguist/shared/po.cpp
@@ -103,10 +103,10 @@ static QString poEscapedString(const QString &prefix, const QString &keyword,
if (lines.count() != 1 ||
lines.first().length() > MAX_LEN - keyword.length() - prefix.length() - 3)
{
- QStringList olines = lines;
+ const QStringList olines = lines;
lines = QStringList(QString());
const int maxlen = MAX_LEN - prefix.length() - 2;
- foreach (const QString &line, olines) {
+ for (const QString &line : olines) {
int off = 0;
while (off + maxlen < line.length()) {
int idx = line.lastIndexOf(QLatin1Char(' '), off + maxlen - 1) + 1;
@@ -138,7 +138,7 @@ static QString poEscapedString(const QString &prefix, const QString &keyword,
static QString poEscapedLines(const QString &prefix, bool addSpace, const QStringList &lines)
{
QString out;
- foreach (const QString &line, lines) {
+ for (const QString &line : lines) {
out += prefix;
if (addSpace && !line.isEmpty())
out += QLatin1Char(' ' );
@@ -447,7 +447,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
QHash<QString, QByteArray> extras;
QList<QByteArray> hdrOrder;
QByteArray pluralForms;
- foreach (const QByteArray &hdr, item.msgStr.first().split('\n')) {
+ for (const QByteArray &hdr : item.msgStr.first().split('\n')) {
if (hdr.isEmpty())
continue;
int idx = hdr.indexOf(':');
@@ -546,7 +546,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
msg.setContext(toUnicode(item.context));
if (!item.references.isEmpty()) {
QString xrefs;
- foreach (const QString &ref,
+ for (const QString &ref :
QString(toUnicode(item.references)).split(
QRegularExpression(QLatin1String("\\s")), Qt::SkipEmptyParts)) {
int pos = ref.indexOf(QLatin1Char(':'));
@@ -575,7 +575,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
msg.setTranslatorComment(toUnicode(item.translatorComments));
msg.setPlural(item.isPlural || item.msgStr.size() > 1);
QStringList translations;
- foreach (const QByteArray &bstr, item.msgStr) {
+ for (const QByteArray &bstr : qAsConst(item.msgStr)) {
QString str = toUnicode(bstr);
str.replace(QChar(Translator::TextVariantSeparator),
QChar(Translator::BinaryVariantSeparator));
@@ -737,7 +737,7 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &)
QTextStream out(&dev);
bool qtContexts = false;
- foreach (const TranslatorMessage &msg, translator.messages())
+ for (const TranslatorMessage &msg : translator.messages())
if (!msg.context().isEmpty()) {
qtContexts = true;
break;
@@ -769,7 +769,7 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &)
if (qtContexts)
addPoHeader(headers, hdrOrder, "X-Qt-Contexts", QLatin1String("true"));
QString hdrStr;
- foreach (const QString &hdr, hdrOrder) {
+ for (const QString &hdr : qAsConst(hdrOrder)) {
hdrStr += hdr;
hdrStr += QLatin1String(": ");
hdrStr += headers.value(makePoHeader(hdr));
@@ -777,7 +777,7 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &)
}
out << poEscapedString(QString(), QString::fromLatin1("msgstr"), true, hdrStr);
- foreach (const TranslatorMessage &msg, translator.messages()) {
+ for (const TranslatorMessage &msg : translator.messages()) {
out << Qt::endl;
if (!msg.translatorComment().isEmpty())
@@ -792,7 +792,7 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &)
QString xrefs = msg.extra(QLatin1String("po-references"));
if (!msg.fileName().isEmpty() || !xrefs.isEmpty()) {
QStringList refs;
- foreach (const TranslatorMessage::Reference &ref, msg.allReferences())
+ for (const TranslatorMessage::Reference &ref : msg.allReferences())
refs.append(QString(QLatin1String("%2:%1"))
.arg(ref.lineNumber()).arg(ref.fileName()));
if (!xrefs.isEmpty())
@@ -809,8 +809,8 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &)
TranslatorMessage::ExtraData::const_iterator itr =
msg.extras().find(QLatin1String("po-flags"));
if (itr != msg.extras().end()) {
- QStringList atoms = itr->split(QLatin1String(", "));
- foreach (const QString &atom, atoms)
+ const QStringList atoms = itr->split(QLatin1String(", "));
+ for (const QString &atom : atoms)
if (atom.endsWith(str_format)) {
skipFormat = true;
break;
diff --git a/src/linguist/shared/profileevaluator.cpp b/src/linguist/shared/profileevaluator.cpp
index 77f7f6dbd..f89ff8eef 100644
--- a/src/linguist/shared/profileevaluator.cpp
+++ b/src/linguist/shared/profileevaluator.cpp
@@ -73,7 +73,7 @@ QStringList ProFileEvaluator::values(const QString &variableName) const
const ProStringList &values = d->values(ProKey(variableName));
QStringList ret;
ret.reserve(values.size());
- foreach (const ProString &str, values)
+ for (const ProString &str : values)
ret << d->m_option->expandEnvVars(str.toQString());
return ret;
}
@@ -84,7 +84,7 @@ QStringList ProFileEvaluator::values(const QString &variableName, const ProFile
const ProStringList &values = d->m_valuemapStack.front().value(ProKey(variableName));
QStringList ret;
ret.reserve(values.size());
- foreach (const ProString &str, values)
+ for (const ProString &str : values)
if (str.sourceFile() == pro->id())
ret << d->m_option->expandEnvVars(str.toQString());
return ret;
@@ -109,7 +109,7 @@ QStringList ProFileEvaluator::absolutePathValues(
const QString &variable, const QString &baseDirectory) const
{
QStringList result;
- foreach (const QString &el, values(variable)) {
+ for (const QString &el : values(variable)) {
QString absEl = IoUtils::isAbsolutePath(el)
? sysrootify(el, baseDirectory) : IoUtils::resolvePath(baseDirectory, el);
if (IoUtils::fileType(absEl) == IoUtils::FileIsDir)
@@ -123,7 +123,8 @@ QStringList ProFileEvaluator::absoluteFileValues(
const ProFile *pro) const
{
QStringList result;
- foreach (const QString &el, pro ? values(variable, pro) : values(variable)) {
+ const auto vals = pro ? values(variable, pro) : values(variable);
+ for (const QString &el : vals) {
QString absEl;
if (IoUtils::isAbsolutePath(el)) {
const QString elWithSysroot = QDir::cleanPath(sysrootify(el, baseDirectory));
@@ -133,7 +134,7 @@ QStringList ProFileEvaluator::absoluteFileValues(
}
absEl = elWithSysroot;
} else {
- foreach (const QString &dir, searchDirs) {
+ for (const QString &dir : searchDirs) {
QString fn = QDir::cleanPath(dir + QLatin1Char('/') + el);
if (d->m_vfs->exists(fn, QMakeVfs::VfsCumulative)) {
result << fn;
@@ -154,7 +155,7 @@ QStringList ProFileEvaluator::absoluteFileValues(
absEl.length() - nameOff - 1);
if (wildcard.contains(QLatin1Char('*')) || wildcard.contains(QLatin1Char('?'))) {
QDir theDir(absDir);
- foreach (const QString &fn, theDir.entryList(QStringList(wildcard)))
+ for (const QString &fn : theDir.entryList(QStringList(wildcard)))
if (fn != QLatin1String(".") && fn != QLatin1String(".."))
result << absDir + QLatin1Char('/') + fn;
} // else if (acceptMissing)
diff --git a/src/linguist/shared/qm.cpp b/src/linguist/shared/qm.cpp
index 5f0b0335f..c638e4e73 100644
--- a/src/linguist/shared/qm.cpp
+++ b/src/linguist/shared/qm.cpp
@@ -287,7 +287,7 @@ void Releaser::squeeze(TranslatorSaveMode mode)
{
m_dependencyArray.clear();
QDataStream depstream(&m_dependencyArray, QIODevice::WriteOnly);
- foreach (const QString &dep, m_dependencies)
+ for (const QString &dep : qAsConst(m_dependencies))
depstream << dep;
if (m_messages.isEmpty() && mode == SaveEverything)
@@ -631,7 +631,7 @@ bool loadQM(Translator &translator, QIODevice &dev, ConversionData &cd)
static bool containsStripped(const Translator &translator, const TranslatorMessage &msg)
{
- foreach (const TranslatorMessage &tmsg, translator.messages())
+ for (const TranslatorMessage &tmsg : translator.messages())
if (tmsg.sourceText() == msg.sourceText()
&& tmsg.context() == msg.context()
&& tmsg.comment().isEmpty())
diff --git a/src/linguist/shared/qph.cpp b/src/linguist/shared/qph.cpp
index a1895d387..9f1b0f2b4 100644
--- a/src/linguist/shared/qph.cpp
+++ b/src/linguist/shared/qph.cpp
@@ -154,7 +154,7 @@ static bool saveQPH(const Translator &translator, QIODevice &dev, ConversionData
if (!languageCode.isEmpty() && languageCode != QLatin1String("C"))
t << " sourcelanguage=\"" << languageCode << "\"";
t << ">\n";
- foreach (const TranslatorMessage &msg, translator.messages()) {
+ for (const TranslatorMessage &msg : translator.messages()) {
t << "<phrase>\n";
t << " <source>" << protect(msg.sourceText()) << "</source>\n";
QString str = msg.translations().join(QLatin1Char('@'));
diff --git a/src/linguist/shared/simtexth.cpp b/src/linguist/shared/simtexth.cpp
index 996b431b1..feb570178 100644
--- a/src/linguist/shared/simtexth.cpp
+++ b/src/linguist/shared/simtexth.cpp
@@ -190,7 +190,7 @@ CandidateList similarTextHeuristicCandidates(const Translator *tor,
CandidateList candidates;
StringSimilarityMatcher matcher(text);
- foreach (const TranslatorMessage &mtm, tor->messages()) {
+ for (const TranslatorMessage &mtm : tor->messages()) {
if (mtm.type() == TranslatorMessage::Unfinished
|| mtm.translation().isEmpty())
continue;
diff --git a/src/linguist/shared/translator.cpp b/src/linguist/shared/translator.cpp
index 50dc7f8cc..7fb464e6b 100644
--- a/src/linguist/shared/translator.cpp
+++ b/src/linguist/shared/translator.cpp
@@ -212,7 +212,7 @@ void Translator::appendSorted(const TranslatorMessage &msg)
// Working vars
int prevLine = 0;
int curIdx = 0;
- foreach (const TranslatorMessage &mit, m_messages) {
+ for (const TranslatorMessage &mit : qAsConst(m_messages)) {
bool sameFile = mit.fileName() == msg.fileName() && mit.context() == msg.context();
int curLine;
if (sameFile && (curLine = mit.lineNumber()) >= prevLine) {
@@ -257,7 +257,7 @@ static QString guessFormat(const QString &filename, const QString &format)
if (format != QLatin1String("auto"))
return format;
- foreach (const Translator::FileFormat &fmt, Translator::registeredFileFormats()) {
+ for (const Translator::FileFormat &fmt : qAsConst(Translator::registeredFileFormats())) {
if (filename.endsWith(QLatin1Char('.') + fmt.extension, Qt::CaseInsensitive))
return fmt.extension;
}
@@ -294,7 +294,7 @@ bool Translator::load(const QString &filename, ConversionData &cd, const QString
QString fmt = guessFormat(filename, format);
- foreach (const FileFormat &format, registeredFileFormats()) {
+ for (const FileFormat &format : qAsConst(registeredFileFormats())) {
if (fmt == format.extension) {
if (format.loader)
return (*format.loader)(*this, file, cd);
@@ -335,7 +335,7 @@ bool Translator::save(const QString &filename, ConversionData &cd, const QString
QString fmt = guessFormat(filename, format);
cd.m_targetDir = QFileInfo(filename).absoluteDir();
- foreach (const FileFormat &format, registeredFileFormats()) {
+ for (const FileFormat &format : qAsConst(registeredFileFormats())) {
if (fmt == format.extension) {
if (format.saver)
return (*format.saver)(*this, file, cd);
@@ -385,8 +385,8 @@ int Translator::find(const QString &context,
if (!refs.isEmpty()) {
for (TMM::ConstIterator it = m_messages.constBegin(); it != m_messages.constEnd(); ++it) {
if (it->context() == context && it->comment() == comment) {
- foreach (const TranslatorMessage::Reference &itref, it->allReferences()) {
- foreach (const TranslatorMessage::Reference &ref, refs) {
+ for (const TranslatorMessage::Reference &itref : it->allReferences()) {
+ for (const TranslatorMessage::Reference &ref : refs) {
if (itref == ref)
return it - m_messages.constBegin();
}
@@ -492,7 +492,7 @@ void Translator::dropUiLines()
for (TMM::Iterator it = m_messages.begin(); it != m_messages.end(); ++it) {
QHash<QString, int> have;
QList<TranslatorMessage::Reference> refs;
- foreach (const TranslatorMessage::Reference &itref, it->allReferences()) {
+ for (const TranslatorMessage::Reference &itref : it->allReferences()) {
const QString &fn = itref.fileName();
if (fn.endsWith(uiXt) || fn.endsWith(juiXt)) {
if (++have[fn] == 1)
@@ -632,9 +632,9 @@ void Translator::reportDuplicates(const Duplicates &dupes,
std::cerr << "'\n(try -verbose for more info).\n";
} else {
std::cerr << "':\n";
- foreach (int i, dupes.byId)
+ for (int i : dupes.byId)
std::cerr << "\n* ID: " << qPrintable(message(i).id()) << std::endl;
- foreach (int j, dupes.byContents) {
+ for (int j : dupes.byContents) {
const TranslatorMessage &msg = message(j);
std::cerr << "\n* Context: " << qPrintable(msg.context())
<< "\n* Source: " << qPrintable(msg.sourceText()) << std::endl;
@@ -651,9 +651,9 @@ void Translator::makeFileNamesAbsolute(const QDir &originalPath)
{
for (TMM::iterator it = m_messages.begin(); it != m_messages.end(); ++it) {
TranslatorMessage &msg = *it;
- TranslatorMessage::References refs = msg.allReferences();
+ const TranslatorMessage::References refs = msg.allReferences();
msg.setReferences(TranslatorMessage::References());
- foreach (const TranslatorMessage::Reference &ref, refs) {
+ for (const TranslatorMessage::Reference &ref : refs) {
QString fileName = ref.fileName();
QFileInfo fi (fileName);
if (fi.isRelative())
@@ -663,7 +663,7 @@ void Translator::makeFileNamesAbsolute(const QDir &originalPath)
}
}
-QList<TranslatorMessage> Translator::messages() const
+const QList<TranslatorMessage> &Translator::messages() const
{
return m_messages;
}
@@ -721,7 +721,7 @@ void Translator::normalizeTranslations(ConversionData &cd)
QString Translator::guessLanguageCodeFromFileName(const QString &filename)
{
QString str = filename;
- foreach (const FileFormat &format, registeredFileFormats()) {
+ for (const FileFormat &format : qAsConst(registeredFileFormats())) {
if (str.endsWith(format.extension)) {
str = str.left(str.size() - format.extension.size() - 1);
break;
diff --git a/src/linguist/shared/translator.h b/src/linguist/shared/translator.h
index 0d3880c13..285146813 100644
--- a/src/linguist/shared/translator.h
+++ b/src/linguist/shared/translator.h
@@ -158,7 +158,7 @@ public:
void setLanguageCode(const QString &languageCode) { m_language = languageCode; }
void setSourceLanguageCode(const QString &languageCode) { m_sourceLanguage = languageCode; }
static QString guessLanguageCodeFromFileName(const QString &fileName);
- QList<TranslatorMessage> messages() const;
+ const QList<TranslatorMessage> &messages() const;
static QStringList normalizedTranslations(const TranslatorMessage &m, int numPlurals);
void normalizeTranslations(ConversionData &cd);
QStringList normalizedTranslations(const TranslatorMessage &m, ConversionData &cd, bool *ok) const;
diff --git a/src/linguist/shared/translatormessage.cpp b/src/linguist/shared/translatormessage.cpp
index 0cc17f1de..fbdb88b31 100644
--- a/src/linguist/shared/translatormessage.cpp
+++ b/src/linguist/shared/translatormessage.cpp
@@ -74,7 +74,7 @@ void TranslatorMessage::addReferenceUniq(const QString &fileName, int lineNumber
if (fileName == m_fileName && lineNumber == m_lineNumber)
return;
if (!m_extraRefs.isEmpty()) { // Rather common case, so special-case it
- foreach (const Reference &ref, m_extraRefs) {
+ for (const Reference &ref : qAsConst(m_extraRefs)) {
if (fileName == ref.fileName() && lineNumber == ref.lineNumber())
return;
}
diff --git a/src/linguist/shared/translatormessage.h b/src/linguist/shared/translatormessage.h
index a8a34d2fd..3c3726d2a 100644
--- a/src/linguist/shared/translatormessage.h
+++ b/src/linguist/shared/translatormessage.h
@@ -88,7 +88,7 @@ public:
void appendTranslation(const QString &translation) { m_translations.append(translation); }
bool isTranslated() const
{
- foreach (const QString &trans, m_translations)
+ for (const QString &trans : m_translations)
if (!trans.isEmpty())
return true;
return false;
diff --git a/src/linguist/shared/ts.cpp b/src/linguist/shared/ts.cpp
index ae52c5287..9a6f8b2b7 100644
--- a/src/linguist/shared/ts.cpp
+++ b/src/linguist/shared/ts.cpp
@@ -478,7 +478,7 @@ static void writeExtras(QTextStream &t, const char *indent,
}
}
outs.sort();
- foreach (const QString &out, outs)
+ for (const QString &out : qAsConst(outs))
t << indent << out << Qt::endl;
}
@@ -523,10 +523,10 @@ bool saveTS(const Translator &translator, QIODevice &dev, ConversionData &cd)
t << " sourcelanguage=\"" << languageCode << "\"";
t << ">\n";
- QStringList deps = translator.dependencies();
+ const QStringList deps = translator.dependencies();
if (!deps.isEmpty()) {
t << "<dependencies>\n";
- foreach (const QString &dep, deps)
+ for (const QString &dep : deps)
t << "<dependency catalog=\"" << dep << "\"/>\n";
t << "</dependencies>\n";
}
@@ -537,7 +537,7 @@ bool saveTS(const Translator &translator, QIODevice &dev, ConversionData &cd)
QHash<QString, QList<TranslatorMessage> > messageOrder;
QList<QString> contextOrder;
- foreach (const TranslatorMessage &msg, translator.messages()) {
+ for (const TranslatorMessage &msg : translator.messages()) {
// no need for such noise
if ((msg.type() == TranslatorMessage::Obsolete || msg.type() == TranslatorMessage::Vanished)
&& msg.translation().isEmpty()) {
@@ -554,12 +554,12 @@ bool saveTS(const Translator &translator, QIODevice &dev, ConversionData &cd)
QHash<QString, int> currentLine;
QString currentFile;
- foreach (const QString &context, contextOrder) {
+ for (const QString &context : qAsConst(contextOrder)) {
t << "<context>\n"
" <name>"
<< protect(context)
<< "</name>\n";
- foreach (const TranslatorMessage &msg, messageOrder[context]) {
+ for (const TranslatorMessage &msg : qAsConst(messageOrder[context])) {
//msg.dump();
t << " <message";
@@ -571,7 +571,7 @@ bool saveTS(const Translator &translator, QIODevice &dev, ConversionData &cd)
if (translator.locationsType() != Translator::NoLocations) {
QString cfile = currentFile;
bool first = true;
- foreach (const TranslatorMessage::Reference &ref, msg.allReferences()) {
+ for (const TranslatorMessage::Reference &ref : msg.allReferences()) {
QString fn = cd.m_targetDir.relativeFilePath(ref.fileName())
.replace(QLatin1Char('\\'),QLatin1Char('/'));
int ln = ref.lineNumber();
diff --git a/src/linguist/shared/xliff.cpp b/src/linguist/shared/xliff.cpp
index cb65e6ac6..71b3305e3 100644
--- a/src/linguist/shared/xliff.cpp
+++ b/src/linguist/shared/xliff.cpp
@@ -194,7 +194,8 @@ static void writeLineNumber(QTextStream &ts, const TranslatorMessage &msg, int i
writeIndent(ts, indent);
ts << "<context-group purpose=\"location\"><context context-type=\"linenumber\">"
<< msg.lineNumber() << "</context></context-group>\n";
- foreach (const TranslatorMessage::Reference &ref, msg.extraReferences()) {
+ const auto refs = msg.extraReferences();
+ for (const TranslatorMessage::Reference &ref : refs) {
writeIndent(ts, indent);
ts << "<context-group purpose=\"location\">";
if (ref.fileName() != msg.fileName())
@@ -764,7 +765,7 @@ bool saveXLIFF(const Translator &translator, QIODevice &dev, ConversionData &cd)
QHash<QString, QHash<QString, QList<TranslatorMessage> > > messageOrder;
QHash<QString, QList<QString> > contextOrder;
QList<QString> fileOrder;
- foreach (const TranslatorMessage &msg, translator.messages()) {
+ for (const TranslatorMessage &msg : translator.messages()) {
QString fn = msg.fileName();
if (fn.isEmpty() && msg.type() == TranslatorMessage::Obsolete)
fn = QLatin1String(MAGIC_OBSOLETE_REFERENCE);
@@ -791,7 +792,7 @@ bool saveXLIFF(const Translator &translator, QIODevice &dev, ConversionData &cd)
sourceLanguageCode.replace(QLatin1Char('_'), QLatin1Char('-'));
QString languageCode = translator.languageCode();
languageCode.replace(QLatin1Char('_'), QLatin1Char('-'));
- foreach (const QString &fn, fileOrder) {
+ for (const QString &fn : qAsConst(fileOrder)) {
writeIndent(ts, indent);
ts << "<file original=\"" << fn << "\""
<< " datatype=\"" << dataType(messageOrder[fn].begin()->first()) << "\""
@@ -800,7 +801,7 @@ bool saveXLIFF(const Translator &translator, QIODevice &dev, ConversionData &cd)
<< "><body>\n";
++indent;
- foreach (const QString &ctx, contextOrder[fn]) {
+ for (const QString &ctx : qAsConst(contextOrder[fn])) {
if (!ctx.isEmpty()) {
writeIndent(ts, indent);
ts << "<group restype=\"" << restypeContext << "\""
@@ -808,7 +809,7 @@ bool saveXLIFF(const Translator &translator, QIODevice &dev, ConversionData &cd)
++indent;
}
- foreach (const TranslatorMessage &msg, messageOrder[fn][ctx])
+ for (const TranslatorMessage &msg : qAsConst(messageOrder[fn][ctx]))
writeMessage(ts, msg, drops, indent);
if (!ctx.isEmpty()) {