From 21cd9da8fd128723d73745606724f6f77625aac0 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Thu, 17 Aug 2023 12:57:26 +0200 Subject: KItemListView: Use own palette rather than go hunt for the scene Documentation for `QGraphicsWidget::palette` says: > When a widget's palette changes, it resolves its entries against its > parent widget, or if it doesn't have a parent widget, it resolves against the scene. So I don't see why we would need to do that ourselves. More importantly, though, it seems in Qt 6 the palette isn't updated in time, so when changing color schemes, Dolphin picks the old color instead of the new one, leading to illegible font when e.g. switching between Breeze Light and Dark. --- src/kitemviews/kitemlistview.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 7a3cbbcb6..6c60ed648 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -1034,12 +1034,9 @@ void KItemListView::updateFont() void KItemListView::updatePalette() { - if (scene() && !scene()->views().isEmpty()) { - KItemListStyleOption option = styleOption(); - option.palette = scene()->views().first()->palette(); - - setStyleOption(option); - } + KItemListStyleOption option = styleOption(); + option.palette = palette(); + setStyleOption(option); } void KItemListView::slotItemsInserted(const KItemRangeList &itemRanges) -- cgit v1.3