QWindows11Style: Use Highlight color for ItemView with alternating rows
When using alternating rows in ItemViews, the currently selected item is hard to distinguish from the background colors. This patch uses for ItemViews with alternating row colors the highlight color for the selected and hovered item. Fixes: QTBUG-133118 Pick-to: 6.8 Change-Id: Ib5dbe0f58d5970c41cc9d14cf2188a7e5b1abd1a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> (cherry picked from commit c3d2a4972ca6bec5bfe9dbe989e2dc6e347f02c1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
320a3b1328
commit
7cab94a4c8
@ -1032,7 +1032,8 @@ void QWindows11Style::drawPrimitive(PrimitiveElement element, const QStyleOption
|
||||
isLast = !isLast;
|
||||
}
|
||||
|
||||
painter->setBrush(WINUI3Colors[colorSchemeIndex][subtleHighlightColor]);
|
||||
const QAbstractItemView *view = qobject_cast<const QAbstractItemView *>(widget);
|
||||
painter->setBrush(view->alternatingRowColors() ? vopt->palette.highlight() : WINUI3Colors[colorSchemeIndex][subtleHighlightColor]);
|
||||
painter->setPen(Qt::NoPen);
|
||||
if (isFirst) {
|
||||
painter->save();
|
||||
@ -1718,7 +1719,8 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op
|
||||
}
|
||||
|
||||
if (vopt->state.testAnyFlags(State_Selected | State_MouseOver)) {
|
||||
painter->setBrush(WINUI3Colors[colorSchemeIndex][subtleHighlightColor]);
|
||||
const QAbstractItemView *view = qobject_cast<const QAbstractItemView *>(widget);
|
||||
painter->setBrush(view->alternatingRowColors() ? vopt->palette.highlight() : WINUI3Colors[colorSchemeIndex][subtleHighlightColor]);
|
||||
QWidget *editorWidget = view ? view->indexWidget(view->currentIndex()) : nullptr;
|
||||
if (editorWidget) {
|
||||
QPalette pal = editorWidget->palette();
|
||||
|
Loading…
x
Reference in New Issue
Block a user