diff --git a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.cpp b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.cpp index 3a976051db10f307147fea483624fa045256eae3..d38af8504fc479bf5f47e0b6045eebd9a34d6bd3 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.cpp @@ -61,7 +61,7 @@ void ContextPaneWidgetRectangle::setProperties(QmlJS::PropertyReader *propertyRe ui->borderColorButton->setColor(propertyReader->readProperty("border.color").toString()); m_hasBorder = true; } else { - ui->borderColorButton->setColor(QLatin1String("black")); + ui->borderColorButton->setColor(QLatin1String("transparent")); } if (propertyReader->hasProperty(QLatin1String("border.width"))) @@ -76,12 +76,13 @@ void ContextPaneWidgetRectangle::setProperties(QmlJS::PropertyReader *propertyRe if (m_hasGradient) { ui->colorGradient->setChecked(true); - ui->gradientLine->setEnabled(true); - ui->gradientLabel->setEnabled(true); + //ui->gradientLine->setEnabled(true); + //ui->gradientLabel->setEnabled(true); ui->gradientLine->setGradient(propertyReader->parseGradient("gradient")); } else { - ui->gradientLine->setEnabled(false); - ui->gradientLabel->setEnabled(false); + //ui->gradientLine->setEnabled(false); + //ui->gradientLabel->setEnabled(false); + setColor(); } if (m_gradientTimer > 0) { @@ -99,7 +100,7 @@ void ContextPaneWidgetRectangle::onBorderColorButtonToggled(bool flag) } ContextPaneWidget *parentContextWidget = qobject_cast<ContextPaneWidget*>(parentWidget()); QPoint p = mapToGlobal(ui->borderColorButton->pos()); - parentContextWidget->colorDialog()->setupColor(ui->borderColorButton->color()); + parentContextWidget->colorDialog()->setupColor(ui->borderColorButton->convertedColor()); p = parentContextWidget->colorDialog()->parentWidget()->mapFromGlobal(p); parentContextWidget->onShowColorDialog(flag, p); } @@ -112,7 +113,7 @@ void ContextPaneWidgetRectangle::onColorButtonToggled(bool flag ) } ContextPaneWidget *parentContextWidget = qobject_cast<ContextPaneWidget*>(parentWidget()); QPoint p = mapToGlobal(ui->colorColorButton->pos()); - parentContextWidget->colorDialog()->setupColor(ui->colorColorButton->color()); + parentContextWidget->colorDialog()->setupColor(ui->colorColorButton->convertedColor()); p = parentContextWidget->colorDialog()->parentWidget()->mapFromGlobal(p); parentContextWidget->onShowColorDialog(flag, p); } @@ -231,4 +232,15 @@ void ContextPaneWidgetRectangle::changeEvent(QEvent *e) } } +void ContextPaneWidgetRectangle::setColor() +{ + QLinearGradient gradient; + QGradientStops stops; + QColor color = ui->colorColorButton->convertedColor(); + stops.append(QGradientStop(0, color)); + stops.append(QGradientStop(1, color)); + gradient.setStops(stops); + ui->gradientLine->setGradient(gradient); +} + } //QmlDesigner diff --git a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.h b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.h index 6dd3d7594f48bb403463f30b25995f4a9da8b65d..c61de005700b781dd520b5126e17384021cd4131 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.h +++ b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.h @@ -47,6 +47,7 @@ protected: void timerEvent(QTimerEvent *event); private: + void setColor(); Ui::ContextPaneWidgetRectangle *ui; bool m_hasBorder; bool m_hasGradient;