From 1ff234d2e97d6faa6f027fa73461f8d09d9d0edc Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 1 Jul 2015 12:20:26 +0000 Subject: fixed text eliding git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5192 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/listwidgetdrawer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/plugins/Ui/skinned/listwidgetdrawer.cpp') diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp index 389d97433..9947d36b1 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp +++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp @@ -157,8 +157,12 @@ void ListWidgetDrawer::prepareRow(ListWidgetRow *row) { int size = row->sizes[i]; if(i == 0 && !row->extraString.isEmpty()) - row->titles[i] = m_metrics->elidedText (row->titles[i], Qt::ElideRight, - size - 3 * m_padding - m_extra_metrics->width(row->extraString)); + { + int text_size = qMax(0, size - 3 * m_padding - m_extra_metrics->width(row->extraString)); + row->titles[i] = m_metrics->elidedText (row->titles[i], Qt::ElideRight, text_size); + row->extraString = m_extra_metrics->elidedText(row->extraString, Qt::ElideRight, + size - 3 * m_padding - m_metrics->width(row->titles[i])); + } else row->titles[i] = m_metrics->elidedText (row->titles[i], Qt::ElideRight, size - 2 * m_padding); visible_width -= size; -- cgit v1.2.3-13-gbd6f