aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-07-01 12:20:26 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-07-01 12:20:26 +0000
commit1ff234d2e97d6faa6f027fa73461f8d09d9d0edc (patch)
tree1bfecca592eed795b9e02cc0dccd13163e6573a4 /src/plugins/Ui
parent98df400e14cca21ac151c749ed91fb1f415b147a (diff)
downloadqmmp-1ff234d2e97d6faa6f027fa73461f8d09d9d0edc.tar.gz
qmmp-1ff234d2e97d6faa6f027fa73461f8d09d9d0edc.tar.bz2
qmmp-1ff234d2e97d6faa6f027fa73461f8d09d9d0edc.zip
fixed text eliding
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5192 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui')
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.cpp8
1 files changed, 6 insertions, 2 deletions
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;