summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@digia.com>2013-05-28 16:48:46 +0200
committerThomas Hartmann <Thomas.Hartmann@digia.com>2013-05-29 12:50:59 +0200
commitc7dd854842e57d10b4781e8d592278351a778d55 (patch)
tree5ee1ad2a6dedecb84c32f9f96377179484c50a05 /src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
parent8934100a127631a9e66ad0fb3356ad815527f464 (diff)
downloadqt-creator-c7dd854842e57d10b4781e8d592278351a778d55.tar.gz
QmlDesigner: Add helper functions for translated text
Change-Id: Ib5b5037f492f7f7ee448aebd5215d28e0ccae7f0 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Diffstat (limited to 'src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp')
-rw-r--r--src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
index 0681f2f3f5..42643ed82f 100644
--- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
+++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp
@@ -175,6 +175,34 @@ QVariant QmlObjectNode::modelValue(const PropertyName &name) const
return propertyChanges.modelNode().variantProperty(name).value();
}
+bool QmlObjectNode::isTranslatableText(const PropertyName &name) const
+{
+ if (modelNode().metaInfo().isValid() && modelNode().metaInfo().hasProperty(name))
+ if (modelNode().metaInfo().propertyTypeName(name) == "QString" || modelNode().metaInfo().propertyTypeName(name) == "string") {
+ if (modelNode().hasBindingProperty(name)) {
+ static QRegExp regularExpressionPatter("qsTr\\((\".*\")\\)");
+ return regularExpressionPatter.exactMatch(modelNode().bindingProperty(name).expression());
+ }
+
+ return false;
+ }
+
+ return false;
+}
+
+QString QmlObjectNode::stripedTranslatableText(const PropertyName &name) const
+{
+ if (modelNode().hasBindingProperty(name)) {
+ static QRegExp regularExpressionPatter("qsTr\\(\"(.*)\"\\)");
+ if (regularExpressionPatter.exactMatch(modelNode().bindingProperty(name).expression()))
+ return regularExpressionPatter.cap(1);
+ } else {
+ return modelNode().variantProperty(name).value().toString();
+ }
+
+ return QString();
+}
+
QString QmlObjectNode::expression(const PropertyName &name) const
{
if (!isValid())
@@ -387,6 +415,11 @@ QVariant QmlObjectNode::instanceValue(const ModelNode &modelNode, const Property
return modelView->instanceForModelNode(modelNode).property(name);
}
+QString QmlObjectNode::generateTranslatableText(const QString &text)
+{
+ return QString("qsTr(\"%1\")").arg(text);
+}
+
TypeName QmlObjectNode::instanceType(const PropertyName &name) const
{
return nodeInstance().instanceType(name);