QDial: use correct button color
When the pixmap for the QDial was cached, the button color for the knob was not properly set Fixes: QTBUG-19855 Change-Id: Ib09ac12f0b11c47a0d05f01759fc6eeadbeab06c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
parent
e1d173d3ca
commit
cd3585ab15
@ -274,6 +274,12 @@ void drawDial(const QStyleOptionSlider *option, QPainter *painter)
|
|||||||
painter->drawLines(QStyleHelper::calcLines(option));
|
painter->drawLines(QStyleHelper::calcLines(option));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// setting color before BEGIN_STYLE_PIXMAPCACHE since
|
||||||
|
// otherwise it is not set when the image is in the cache
|
||||||
|
buttonColor.setHsv(buttonColor .hue(),
|
||||||
|
qMin(140, buttonColor .saturation()),
|
||||||
|
qMax(180, buttonColor.value()));
|
||||||
|
|
||||||
// Cache dial background
|
// Cache dial background
|
||||||
BEGIN_STYLE_PIXMAPCACHE(QString::fromLatin1("qdial"));
|
BEGIN_STYLE_PIXMAPCACHE(QString::fromLatin1("qdial"));
|
||||||
p->setRenderHint(QPainter::Antialiasing);
|
p->setRenderHint(QPainter::Antialiasing);
|
||||||
@ -285,9 +291,6 @@ void drawDial(const QStyleOptionSlider *option, QPainter *painter)
|
|||||||
QRectF br = QRectF(dx + 0.5, dy + 0.5,
|
QRectF br = QRectF(dx + 0.5, dy + 0.5,
|
||||||
int(r * 2 - 2 * d_ - 2),
|
int(r * 2 - 2 * d_ - 2),
|
||||||
int(r * 2 - 2 * d_ - 2));
|
int(r * 2 - 2 * d_ - 2));
|
||||||
buttonColor.setHsv(buttonColor .hue(),
|
|
||||||
qMin(140, buttonColor .saturation()),
|
|
||||||
qMax(180, buttonColor.value()));
|
|
||||||
|
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
// Drop shadow
|
// Drop shadow
|
||||||
|
Loading…
Reference in New Issue
Block a user