Commit 6ec21747 authored by Christian Kamm's avatar Christian Kamm
Browse files

QmlJS: Use QmlJS::toQColor to convert a string to a QColor.

The QColor constructor prints a warning if the string it gets passed
isn't a known color name. Also, it doesn't know about the alpha value
in strings like "#ff00ff00".

Reviewed-by: Thomas Hartmann
parent b1e1692e
......@@ -31,6 +31,7 @@
#include "ui_contextpanewidgetrectangle.h"
#include "contextpanewidget.h"
#include <qmljs/qmljspropertyreader.h>
#include <qmljs/qmljscheck.h>
#include <customcolordialog.h>
#include <QDebug>
......@@ -79,7 +80,7 @@ void ContextPaneWidgetRectangle::setProperties(QmlJS::PropertyReader *propertyRe
if (propertyReader->hasProperty(QLatin1String("color"))) {
QString str = propertyReader->readProperty("color").toString();
if (QColor(str).alpha() == 0)
if (QmlJS::toQColor(str).alpha() == 0)
m_none = true;
ui->colorColorButton->setColor(str);
......
......@@ -30,6 +30,7 @@
#include "qmljspropertyreader.h"
#include "qmljsdocument.h"
#include <qmljs/parser/qmljsast_p.h>
#include <qmljs/qmljscheck.h>
namespace QmlJS {
......@@ -265,7 +266,7 @@ QLinearGradient PropertyReader::parseGradient(const QString &propertyName, bool
if (UiObjectDefinition *objectDefinition = cast<UiObjectDefinition *>(member)) {
PropertyReader localParser(m_doc, objectDefinition->initializer);
if (localParser.hasProperty("color") && localParser.hasProperty("position")) {
QColor color = localParser.readProperty("color").value<QColor>();
QColor color = QmlJS::toQColor(localParser.readProperty("color").toString());
qreal position = localParser.readProperty("position").toReal();
if (localParser.isBindingOrEnum("color") || localParser.isBindingOrEnum("position"))
*isBound = true;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment