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.
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)