summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/styles/modernwindows/qwindows11style.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp
index bb4111df9a2..a86bad5b30b 100644
--- a/src/plugins/styles/modernwindows/qwindows11style.cpp
+++ b/src/plugins/styles/modernwindows/qwindows11style.cpp
@@ -381,9 +381,11 @@ void QWindows11Style::drawComplexControl(ComplexControl control, const QStyleOpt
rightRect = QRect(handlePos.x(), rect.top(), (rect.width() - handlePos.x()), rect.height());
} else {
rect = QRect(rect.center().x() - 2, slrect.top(), 4, slrect.height() - 5);
- rightRect = QRect(rect.left(), rect.top() + 1, rect.width(), (handlePos.y() - rect.top()));
- leftRect = QRect(rect.left(), handlePos.y(), rect.width(), (rect.height() - handlePos.y()));
+ leftRect = QRect(rect.left(), rect.top() + 1, rect.width(), (handlePos.y() - rect.top()));
+ rightRect = QRect(rect.left(), handlePos.y(), rect.width(), (rect.height() - handlePos.y()));
}
+ if (slider->upsideDown)
+ qSwap(leftRect, rightRect);
painter->setPen(Qt::NoPen);
painter->setBrush(calculateAccentColor(option));
@@ -427,8 +429,9 @@ void QWindows11Style::drawComplexControl(ComplexControl control, const QStyleOpt
break;
const int v_ = qMin(v, slider->maximum);
int tickLength = (v_ == slider->minimum || v_ >= slider->maximum) ? 4 : 3;
- pos = QStyle::sliderPositionFromValue(slider->minimum, slider->maximum,
- v_, available) + fudge;
+ pos = QStyle::sliderPositionFromValue(slider->minimum, slider->maximum, v_,
+ available, slider->upsideDown);
+ pos += fudge;
if (slider->orientation == Qt::Horizontal) {
if (ticks & QSlider::TicksAbove) {
lines.append(QLineF(pos, tickOffset - 1 - bothOffset + 0.5,