diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kitemlistwidget.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index c06e46339..154196a3c 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -623,14 +623,15 @@ void KItemListWidget::drawItemStyleOption(QPainter *painter, QWidget *widget, QS { QStyleOptionViewItem viewItemOption; constexpr int roundness = 5; // From Breeze style. - constexpr qreal penWidth = 1.5; + constexpr qreal penWidth = 1.25; initStyleOption(&viewItemOption); viewItemOption.state = styleState; viewItemOption.viewItemPosition = QStyleOptionViewItem::OnlyOne; viewItemOption.showDecorationSelected = true; viewItemOption.rect = selectionRectFull().toRect(); QPainterPath path; - path.addRoundedRect(selectionRectFull().adjusted(penWidth, penWidth, -penWidth, -penWidth), roundness, roundness); + const qreal adjustment = 0.5 * penWidth; // Use same adjustments as Breeze strokedRect uses, to snap to pixelGrid. + path.addRoundedRect(selectionRectFull().adjusted(adjustment, adjustment, -adjustment, -adjustment), roundness, roundness); QColor backgroundColor{widget->palette().color(QPalette::Accent)}; painter->setRenderHint(QPainter::Antialiasing); bool current = m_current && styleState & QStyle::State_Active; @@ -658,12 +659,11 @@ void KItemListWidget::drawItemStyleOption(QPainter *painter, QWidget *widget, QS if (current) { QColor focusColor{widget->palette().color(QPalette::Accent)}; focusColor = m_styleOption.palette.color(QPalette::Base).lightnessF() > 0.5 ? focusColor.darker(110) : focusColor.lighter(110); - focusColor.setAlphaF(m_selected || m_hovered ? 0.8 : 0.6); + focusColor.setAlphaF(m_selected || m_hovered ? 1.0 : 0.8); // Set the pen color lighter or darker depending on background color QPen pen{focusColor, penWidth}; pen.setCosmetic(true); - painter->setPen(pen); - painter->drawPath(path); + painter->strokePath(path, pen); } } |
