From 8010ae0286fb30d51fff150703096f7ebe6172a9 Mon Sep 17 00:00:00 2001 From: weinan li Date: Tue, 4 Nov 2025 17:42:39 +0800 Subject: dolphinitemlistview: ensure font settings isolation between view modes Ensure proper font synchronization between KItemListStyleOption and the base font system. Previously, when switching from a view mode with custom font to one with system font, the style option would retain the custom font setting, causing font settings to persist incorrectly between view modes after application restart. The changes: - Unify the font setting logic for both system and custom fonts - Ensure style option font is synchronized with actual font in system mode BUG: 511604 --- src/views/dolphinitemlistview.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/views') diff --git a/src/views/dolphinitemlistview.cpp b/src/views/dolphinitemlistview.cpp index 8529f23a7..23d9eb753 100644 --- a/src/views/dolphinitemlistview.cpp +++ b/src/views/dolphinitemlistview.cpp @@ -146,18 +146,17 @@ void DolphinItemListView::onVisibleRolesChanged(const QList ¤t void DolphinItemListView::updateFont() { const ViewModeSettings settings(itemLayout()); + KItemListStyleOption option = styleOption(); if (settings.useSystemFont()) { KItemListView::updateFont(); + option.font = font(); } else { - QFont font(settings.viewFont()); - - KItemListStyleOption option = styleOption(); - option.font = font; - option.fontMetrics = QFontMetrics(font); - - setStyleOption(option); + option.font = settings.viewFont(); } + + option.fontMetrics = QFontMetrics(option.font); + setStyleOption(option); } void DolphinItemListView::updateGridSize() -- cgit v1.3