forked from qt-creator/qt-creator
QmlDesigner: fixing transparency for context pane
This commit is contained in:
@@ -61,7 +61,7 @@ void ContextPaneWidgetRectangle::setProperties(QmlJS::PropertyReader *propertyRe
|
|||||||
ui->borderColorButton->setColor(propertyReader->readProperty("border.color").toString());
|
ui->borderColorButton->setColor(propertyReader->readProperty("border.color").toString());
|
||||||
m_hasBorder = true;
|
m_hasBorder = true;
|
||||||
} else {
|
} else {
|
||||||
ui->borderColorButton->setColor(QLatin1String("black"));
|
ui->borderColorButton->setColor(QLatin1String("transparent"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (propertyReader->hasProperty(QLatin1String("border.width")))
|
if (propertyReader->hasProperty(QLatin1String("border.width")))
|
||||||
@@ -76,12 +76,13 @@ void ContextPaneWidgetRectangle::setProperties(QmlJS::PropertyReader *propertyRe
|
|||||||
|
|
||||||
if (m_hasGradient) {
|
if (m_hasGradient) {
|
||||||
ui->colorGradient->setChecked(true);
|
ui->colorGradient->setChecked(true);
|
||||||
ui->gradientLine->setEnabled(true);
|
//ui->gradientLine->setEnabled(true);
|
||||||
ui->gradientLabel->setEnabled(true);
|
//ui->gradientLabel->setEnabled(true);
|
||||||
ui->gradientLine->setGradient(propertyReader->parseGradient("gradient"));
|
ui->gradientLine->setGradient(propertyReader->parseGradient("gradient"));
|
||||||
} else {
|
} else {
|
||||||
ui->gradientLine->setEnabled(false);
|
//ui->gradientLine->setEnabled(false);
|
||||||
ui->gradientLabel->setEnabled(false);
|
//ui->gradientLabel->setEnabled(false);
|
||||||
|
setColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_gradientTimer > 0) {
|
if (m_gradientTimer > 0) {
|
||||||
@@ -99,7 +100,7 @@ void ContextPaneWidgetRectangle::onBorderColorButtonToggled(bool flag)
|
|||||||
}
|
}
|
||||||
ContextPaneWidget *parentContextWidget = qobject_cast<ContextPaneWidget*>(parentWidget());
|
ContextPaneWidget *parentContextWidget = qobject_cast<ContextPaneWidget*>(parentWidget());
|
||||||
QPoint p = mapToGlobal(ui->borderColorButton->pos());
|
QPoint p = mapToGlobal(ui->borderColorButton->pos());
|
||||||
parentContextWidget->colorDialog()->setupColor(ui->borderColorButton->color());
|
parentContextWidget->colorDialog()->setupColor(ui->borderColorButton->convertedColor());
|
||||||
p = parentContextWidget->colorDialog()->parentWidget()->mapFromGlobal(p);
|
p = parentContextWidget->colorDialog()->parentWidget()->mapFromGlobal(p);
|
||||||
parentContextWidget->onShowColorDialog(flag, p);
|
parentContextWidget->onShowColorDialog(flag, p);
|
||||||
}
|
}
|
||||||
@@ -112,7 +113,7 @@ void ContextPaneWidgetRectangle::onColorButtonToggled(bool flag )
|
|||||||
}
|
}
|
||||||
ContextPaneWidget *parentContextWidget = qobject_cast<ContextPaneWidget*>(parentWidget());
|
ContextPaneWidget *parentContextWidget = qobject_cast<ContextPaneWidget*>(parentWidget());
|
||||||
QPoint p = mapToGlobal(ui->colorColorButton->pos());
|
QPoint p = mapToGlobal(ui->colorColorButton->pos());
|
||||||
parentContextWidget->colorDialog()->setupColor(ui->colorColorButton->color());
|
parentContextWidget->colorDialog()->setupColor(ui->colorColorButton->convertedColor());
|
||||||
p = parentContextWidget->colorDialog()->parentWidget()->mapFromGlobal(p);
|
p = parentContextWidget->colorDialog()->parentWidget()->mapFromGlobal(p);
|
||||||
parentContextWidget->onShowColorDialog(flag, 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
|
} //QmlDesigner
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ protected:
|
|||||||
void timerEvent(QTimerEvent *event);
|
void timerEvent(QTimerEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void setColor();
|
||||||
Ui::ContextPaneWidgetRectangle *ui;
|
Ui::ContextPaneWidgetRectangle *ui;
|
||||||
bool m_hasBorder;
|
bool m_hasBorder;
|
||||||
bool m_hasGradient;
|
bool m_hasGradient;
|
||||||
|
|||||||
Reference in New Issue
Block a user