diff --git a/src/plugins/qmldesigner/core/model/qmltextgenerator.cpp b/src/plugins/qmldesigner/core/model/qmltextgenerator.cpp
index 8602078e3f0da713d15824d451a206e5c74d50e3..8ad16ab0b5ee83e9f3893fab9a5d7713a485ba6f 100644
--- a/src/plugins/qmldesigner/core/model/qmltextgenerator.cpp
+++ b/src/plugins/qmldesigner/core/model/qmltextgenerator.cpp
@@ -28,6 +28,7 @@
 **************************************************************************/
 
 #include <QtCore/QVariant>
+#include <QtGui/QColor>
 
 #include "bindingproperty.h"
 #include "nodeproperty.h"
@@ -38,6 +39,16 @@
 using namespace QmlDesigner;
 using namespace QmlDesigner::Internal;
 
+inline static QString properColorName(const QColor &color)
+{
+    QString s;
+    if (color.alpha() == 255)
+        s.sprintf("#%02x%02x%02x", color.red(), color.green(), color.blue());
+    else
+        s.sprintf("#%02x%02x%02x%02x", color.alpha(), color.red(), color.green(), color.blue());
+    return s;
+}
+
 QmlTextGenerator::QmlTextGenerator(const QStringList &propertyOrder, int indentDepth):
         m_propertyOrder(propertyOrder),
         m_indentDepth(indentDepth)
@@ -89,6 +100,9 @@ QString QmlTextGenerator::toQml(const AbstractProperty &property, int indentDept
             else
                 return QLatin1String("false");
 
+        case QVariant::Color:
+            return QString(QLatin1String("\"%1\"")).arg(properColorName(value.value<QColor>()));
+
         case QVariant::Double:
         case QVariant::Int:
         case QVariant::LongLong: