QmlDesigner: Add static helper function for translations

Adds:

  stripedTranslatableTextFunction()
  convertToCorrectTranslatableFunction()

Change-Id: I9f8b50924c4c99cda43d32c03080bab83cfaff44
Reviewed-by: Aleksei German <aleksei.german@qt.io>
This commit is contained in:
Thomas Hartmann
2022-09-08 12:15:33 +02:00
parent 9aa5a4cc6c
commit d24a09a6be
2 changed files with 20 additions and 0 deletions

View File

@@ -119,6 +119,11 @@ public:
static QVariant instanceValue(const ModelNode &modelNode, const PropertyName &name); static QVariant instanceValue(const ModelNode &modelNode, const PropertyName &name);
static QString generateTranslatableText(const QString& text); static QString generateTranslatableText(const QString& text);
static QString stripedTranslatableTextFunction(const QString &text);
static QString convertToCorrectTranslatableFunction(const QString &text);
QString simplifiedTypeName() const; QString simplifiedTypeName() const;
QStringList allStateNames() const; QStringList allStateNames() const;

View File

@@ -665,6 +665,21 @@ QString QmlObjectNode::generateTranslatableText(const QString &text)
#endif #endif
} }
QString QmlObjectNode::stripedTranslatableTextFunction(const QString &text)
{
const QRegularExpression regularExpressionPattern(
QLatin1String("^qsTr(|Id|anslate)\\(\"(.*)\"\\)$"));
const QRegularExpressionMatch match = regularExpressionPattern.match(text);
if (match.hasMatch())
return match.captured(2);
return text;
}
QString QmlObjectNode::convertToCorrectTranslatableFunction(const QString &text)
{
return generateTranslatableText(stripedTranslatableTextFunction(text));
}
TypeName QmlObjectNode::instanceType(const PropertyName &name) const TypeName QmlObjectNode::instanceType(const PropertyName &name) const
{ {
return nodeInstance().instanceType(name); return nodeInstance().instanceType(name);