From 77d6dbc236d6143ef44d3379c96a5db79de3eadc Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 15 Sep 2019 15:47:26 +0200 Subject: [PATCH] GItemView: Elide item names that won't fit This isn't perfect since now you will just see "Long name..." instead of the whole name, but at least it doesn't look totally wrong either. --- Libraries/LibGUI/GItemView.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Libraries/LibGUI/GItemView.cpp b/Libraries/LibGUI/GItemView.cpp index 14498d071d..f6e83ed845 100644 --- a/Libraries/LibGUI/GItemView.cpp +++ b/Libraries/LibGUI/GItemView.cpp @@ -167,6 +167,7 @@ void GItemView::paint_event(GPaintEvent& event) Rect text_rect { 0, icon_rect.bottom() + 6 + 1, font.width(item_text.to_string()), font.glyph_height() }; text_rect.center_horizontally_within(item_rect); text_rect.inflate(6, 4); + text_rect.intersect(item_rect); Color text_color; if (is_selected_item) @@ -174,7 +175,7 @@ void GItemView::paint_event(GPaintEvent& event) else text_color = model()->data(model_index, GModel::Role::ForegroundColor).to_color(Color::Black); painter.fill_rect(text_rect, background_color); - painter.draw_text(text_rect, item_text.to_string(), font, TextAlignment::Center, text_color); + painter.draw_text(text_rect, item_text.to_string(), font, TextAlignment::Center, text_color, TextElision::Right); }; }