┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kitemlistwidget.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp
index b94cf6064..32118c569 100644
--- a/src/kitemviews/kitemlistwidget.cpp
+++ b/src/kitemviews/kitemlistwidget.cpp
@@ -623,21 +623,6 @@ void KItemListWidget::setPressed(bool enabled)
void KItemListWidget::drawItemStyleOption(QPainter *painter, QWidget *widget, QStyle::State styleState)
{
painter->save();
- // Shared between both Breeze and other styles
- QColor backgroundColor{widget->palette().color(QPalette::Highlight)};
- backgroundColor.setAlphaF(0.0);
- if (m_clickHighlighted) {
- backgroundColor.setAlphaF(1.0);
- } else {
- if (m_selected && m_hovered) {
- backgroundColor.setAlphaF(0.40);
- } else if (m_selected) {
- backgroundColor.setAlphaF(0.32);
- } else if (m_hovered) {
- backgroundColor = widget->palette().color(QPalette::Text);
- backgroundColor.setAlphaF(0.06);
- }
- }
QStyleOptionViewItem viewItemOption;
initStyleOption(&viewItemOption);
viewItemOption.state = styleState;
@@ -649,6 +634,20 @@ void KItemListWidget::drawItemStyleOption(QPainter *painter, QWidget *widget, QS
// TODO: Remove this check after Plasma 6.8 release
// See: https://invent.kde.org/plasma/breeze/-/merge_requests/595
if (style()->name() == QStringLiteral("breeze")) {
+ QColor backgroundColor{widget->palette().color(QPalette::Highlight)};
+ backgroundColor.setAlphaF(0.0);
+ if (m_clickHighlighted) {
+ backgroundColor.setAlphaF(1.0);
+ } else {
+ if (m_selected && m_hovered) {
+ backgroundColor.setAlphaF(0.40);
+ } else if (m_selected) {
+ backgroundColor.setAlphaF(0.32);
+ } else if (m_hovered) {
+ backgroundColor = widget->palette().color(QPalette::Text);
+ backgroundColor.setAlphaF(0.06);
+ }
+ }
painter->setRenderHint(QPainter::Antialiasing);
constexpr int roundness = 5; // From Breeze style.
constexpr qreal penWidth = 1.25;
@@ -668,7 +667,6 @@ void KItemListWidget::drawItemStyleOption(QPainter *painter, QWidget *widget, QS
painter->strokePath(path, pen);
}
} else {
- viewItemOption.backgroundBrush = backgroundColor;
style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &viewItemOption, painter, widget);
// Focus decoration
@@ -679,6 +677,9 @@ void KItemListWidget::drawItemStyleOption(QPainter *painter, QWidget *widget, QS
if (m_selected && widget->hasFocus()) {
focusRectOption.state = QStyle::State_HasFocus | QStyle::State_Selected;
}
+ if (m_hovered) {
+ focusRectOption.state |= QStyle::State_MouseOver;
+ }
focusRectOption.rect = viewItemOption.rect;
style()->drawPrimitive(QStyle::PE_FrameFocusRect, &focusRectOption, painter, widget);
}