From 61c67cf49950cec0549b186fe661eff42abe6f18 Mon Sep 17 00:00:00 2001 From: Wladimir Leuschner Date: Tue, 25 Jun 2024 14:43:11 +0200 Subject: [PATCH] QWindows11Style: Fix sorting arrows in headers Fixes: QTBUG-126345 Change-Id: Ifb0bb46329a909fd113318f61ca37ba01f4d873d Reviewed-by: Oliver Wolff (cherry picked from commit 81642477d979e00f9507df37184e75d9ed98ee2f) --- .../styles/modernwindows/qwindows11style.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp index 30a524916f7..3835e2cdc5d 100644 --- a/src/plugins/styles/modernwindows/qwindows11style.cpp +++ b/src/plugins/styles/modernwindows/qwindows11style.cpp @@ -823,6 +823,18 @@ void QWindows11Style::drawPrimitive(PrimitiveElement element, const QStyleOption } } break; + case PE_IndicatorHeaderArrow: + if (const QStyleOptionHeader *header = qstyleoption_cast(option)) { + painter->setPen(header->palette.text().color()); + painter->setFont(assetFont); + QRectF rect = option->rect; + if (header->sortIndicator & QStyleOptionHeader::SortUp) { + painter->drawText(rect,Qt::AlignCenter,"\uE96D"); + } else if (header->sortIndicator & QStyleOptionHeader::SortDown) { + painter->drawText(rect,Qt::AlignCenter,"\uE96E"); + } + } + break; case PE_IndicatorCheckBox: { QNumberStyleAnimation* animation = qobject_cast(d->animation(option->styleObject)); @@ -1812,6 +1824,10 @@ QRect QWindows11Style::subElementRect(QStyle::SubElement element, const QStyleOp ret = QWindowsVistaStyle::subElementRect(element, option, widget); } break; + case QStyle::SE_HeaderLabel: + case QStyle::SE_HeaderArrow: + ret = QCommonStyle::subElementRect(element, option, widget); + break; default: ret = QWindowsVistaStyle::subElementRect(element, option, widget); }