From 8f0baa45053312914812cc908e94138bc23fe44f Mon Sep 17 00:00:00 2001 From: Akseli Lahtinen Date: Fri, 29 May 2026 13:25:07 +0300 Subject: KItemListWidget: Add pressedChanged When items were pressed, we never called the updateAdditionalInfoTextColor, which caused some of the text colors get out of sync. This was especially noticeable in details view when using an accent color that makes the font color change to preserve readability. BUG: 508329 --- src/kitemviews/kitemlistwidget.cpp | 6 ++++++ src/kitemviews/kitemlistwidget.h | 1 + src/kitemviews/kstandarditemlistwidget.cpp | 7 +++++++ src/kitemviews/kstandarditemlistwidget.h | 1 + 4 files changed, 15 insertions(+) (limited to 'src') diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index 32118c569..e792844b0 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -506,6 +506,11 @@ void KItemListWidget::hoveredChanged(bool hovered) Q_UNUSED(hovered) } +void KItemListWidget::pressedChanged(bool pressed) +{ + Q_UNUSED(pressed) +} + void KItemListWidget::alternateBackgroundChanged(bool enabled) { Q_UNUSED(enabled) @@ -616,6 +621,7 @@ void KItemListWidget::setPressed(bool enabled) if (m_clickHighlighted != enabled) { m_clickHighlighted = enabled; clearHoverCache(); + pressedChanged(enabled); update(); } } diff --git a/src/kitemviews/kitemlistwidget.h b/src/kitemviews/kitemlistwidget.h index b87a3b34e..100c13466 100644 --- a/src/kitemviews/kitemlistwidget.h +++ b/src/kitemviews/kitemlistwidget.h @@ -214,6 +214,7 @@ protected: virtual void currentChanged(bool current); virtual void selectedChanged(bool selected); virtual void hoveredChanged(bool hovered); + virtual void pressedChanged(bool pressed); virtual void alternateBackgroundChanged(bool enabled); virtual void siblingsInformationChanged(const QBitArray ¤t, const QBitArray &previous); virtual void editedRoleChanged(const QByteArray ¤t, const QByteArray &previous); diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index ddbb8b6a1..036aff608 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -828,6 +828,13 @@ void KStandardItemListWidget::selectedChanged(bool selected) m_dirtyContent = true; } +void KStandardItemListWidget::pressedChanged(bool pressed) +{ + Q_UNUSED(pressed) + updateAdditionalInfoTextColor(); + m_dirtyContent = true; +} + void KStandardItemListWidget::siblingsInformationChanged(const QBitArray ¤t, const QBitArray &previous) { Q_UNUSED(current) diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h index e0a32b745..2b2412abb 100644 --- a/src/kitemviews/kstandarditemlistwidget.h +++ b/src/kitemviews/kstandarditemlistwidget.h @@ -180,6 +180,7 @@ protected: void styleOptionChanged(const KItemListStyleOption ¤t, const KItemListStyleOption &previous) override; void hoveredChanged(bool hovered) override; void selectedChanged(bool selected) override; + void pressedChanged(bool pressed) override; void siblingsInformationChanged(const QBitArray ¤t, const QBitArray &previous) override; void editedRoleChanged(const QByteArray ¤t, const QByteArray &previous) override; void iconSizeChanged(int current, int previous) override; -- cgit v1.3.1