projectexplorer: add availableQmlPreviewTranslations()

Preparation for a test translations feature.

Change-Id: I1a7ccecab803f5838cd765b7dca99bcf5bb9e8a1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tim Jenssen
2020-06-22 19:38:36 +02:00
parent 1cb1298a6d
commit e95a95cdfe
4 changed files with 28 additions and 24 deletions

View File

@@ -983,6 +983,21 @@ QVariant Project::extraData(const QString &key) const
return d->m_extraData.value(key);
}
QStringList Project::availableQmlPreviewTranslations(QString *errorMessage)
{
const auto projectDirectory = rootProjectDirectory().toFileInfo().absoluteFilePath();
const QDir languageDirectory(projectDirectory + "/i18n");
const auto qmFiles = languageDirectory.entryList({"qml_*.qm"});
if (qmFiles.isEmpty() && errorMessage)
errorMessage->append(tr("Could not find any qml_*.qm file at '%1'").arg(languageDirectory.absolutePath()));
return Utils::transform(qmFiles, [](const QString &qmFile) {
const int localeStartPosition = qmFile.lastIndexOf("_") + 1;
const int localeEndPosition = qmFile.size() - QString(".qm").size();
const QString locale = qmFile.left(localeEndPosition).mid(localeStartPosition);
return locale;
});
}
#if defined(WITH_TESTS)
} // namespace ProjectExplorer