From aba0de7301b060c40d543adbaa8d53cf69a9d7ee Mon Sep 17 00:00:00 2001 From: Bojidar Marinov Date: Mon, 23 Jun 2025 15:26:49 +0300 Subject: [PATCH] Fix file names overflowing after text eliding When QFontMetrics::boundingRect().width was replaced with QFontMetrics::horizontalAdvance() in 76a46fd9094b17eb99e8a42cca8562fdc0b3814c, an extra line (formerly introduced by a203c271161ce953354b9e0722492605a4d17415) was changed as well. Unfortunately, boundingRect().width is the correct function to use for calculating the size of the last line, while horizontalAdvance would be correct if we were laying it next to the previous line instead of below the previous line. BUG: 432530 --- src/kitemviews/kstandarditemlistwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index d078b0657..2538cddcf 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -1334,7 +1334,7 @@ void KStandardItemListWidget::updateIconsLayoutTextCache() const QString elidedText = nameText.left(line.textStart()) + lastTextLine; nameTextInfo->staticText.setText(elidedText); - lastLineWidth = m_customizedFontMetrics.horizontalAdvance(lastTextLine); + lastLineWidth = m_customizedFontMetrics.boundingRect(lastTextLine).width(); // We do the text eliding in a loop with decreasing width (1 px / iteration) // to avoid problems related to different width calculation code paths -- 2.47.3