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: