From e8565890fb854aee3dcb758fee816c740030811f Mon Sep 17 00:00:00 2001
From: Christian Kamm <christian.d.kamm@nokia.com>
Date: Thu, 18 Feb 2010 14:53:44 +0100
Subject: [PATCH] Teach QmlJS editor about QVector2D and QVector3D.

Used, for instance, in Rotation.axis or Rotation.origin.
---
 src/libs/qmljs/qmljsinterpreter.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp
index caf472a12f5..7caee728108 100644
--- a/src/libs/qmljs/qmljsinterpreter.cpp
+++ b/src/libs/qmljs/qmljsinterpreter.cpp
@@ -296,7 +296,8 @@ const Value *QmlObjectValue::propertyValue(const QMetaProperty &prop) const
     } break;
 
     case QMetaType::QPoint:
-    case QMetaType::QPointF: {
+    case QMetaType::QPointF:
+    case QMetaType::QVector2D: {
         // ### cache
         ObjectValue *object = engine()->newObject(/*prototype =*/ 0);
         object->setProperty("x", engine()->numberValue());
@@ -315,6 +316,15 @@ const Value *QmlObjectValue::propertyValue(const QMetaProperty &prop) const
         value = object;
     } break;
 
+    case QMetaType::QVector3D: {
+        // ### cache
+        ObjectValue *object = engine()->newObject(/*prototype =*/ 0);
+        object->setProperty("x", engine()->numberValue());
+        object->setProperty("y", engine()->numberValue());
+        object->setProperty("z", engine()->numberValue());
+        value = object;
+    } break;
+
     default:
         break;
     } // end of switch
-- 
GitLab