From d2948c190122f0a0856a4227d820cf5e640f0827 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Tue, 20 Jul 2010 10:23:59 +0200 Subject: [PATCH] QmlDesigner: fixing transparency for context pane --- .../contextpanewidgetrectangle.cpp | 26 ++++++++++++++----- .../contextpanewidgetrectangle.h | 1 + 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.cpp b/src/plugins/qmldesigner/components/propertyeditor/contextpanewidgetrectangle.cpp index 3a976051db1..d38af8504fc 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 6dd3d7594f4..c61de005700 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; -- GitLab