LibGUI: Don't stringify non-textlike data in TreeView's tree column

This would previously cause silly things like [GUI::Icon] to appear if a
non-textlike column was used as the tree column (like, in this example,
an icon column). Let's just not write anything instead.
This commit is contained in:
kleines Filmröllchen 2022-04-05 00:26:20 +02:00 committed by Andreas Kling
parent 0e71c6a7de
commit cd5ed44f64
Notes: sideshowbarker 2024-07-17 14:20:29 +09:00

View File

@ -344,7 +344,9 @@ void TreeView::paint_event(PaintEvent& event)
}
}
}
draw_item_text(painter, index, is_selected_row, text_rect, index.data().to_string(), font_for_index(index), Gfx::TextAlignment::CenterLeft, Gfx::TextElision::Right);
auto display_data = index.data();
if (display_data.is_string() || display_data.is_u32() || display_data.is_i32() || display_data.is_u64() || display_data.is_i64() || display_data.is_bool() || display_data.is_float())
draw_item_text(painter, index, is_selected_row, text_rect, display_data.to_string(), font_for_index(index), Gfx::TextAlignment::CenterLeft, Gfx::TextElision::Right);
if (selection_behavior() == SelectionBehavior::SelectItems && is_focused() && index == cursor_index()) {
painter.draw_rect(background_rect, palette().color(background_role()));