diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-07-01 17:35:46 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-07-01 17:35:46 +0000 |
| commit | b49213987a6ec79ed066957af41caef0998a905d (patch) | |
| tree | 961430594f197a1005cea7fb8f3731c1fb4326e1 /src | |
| parent | 01df53f1f7547bc891aa1fa987ee21ca39146d0e (diff) | |
| download | qmmp-b49213987a6ec79ed066957af41caef0998a905d.tar.gz qmmp-b49213987a6ec79ed066957af41caef0998a905d.tar.bz2 qmmp-b49213987a6ec79ed066957af41caef0998a905d.zip | |
fixed RTL locales support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5196 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.cpp | 84 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.cpp | 8 |
2 files changed, 48 insertions, 44 deletions
diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp index b13c9d6a9..fb0b87f9c 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp +++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp @@ -245,57 +245,64 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->setFont(m_font); - /*if(rtl) + if(rtl) { - //|=duration=extra=|= col2=|= col1=|=number =| - if(row->numberColumnWidth) - { - sx -= row->numberColumnWidth; - painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal); - QString number = QString("%1").arg(row->number); - painter->drawText(sx + m_padding, sy, number); - painter->setPen(m_normal); - painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); - } - - for(int i = 0; i < row->titles.count(); i++) + //|=duration=extra=|= col1=|=number =| + if(row->titles.count() == 1) { - if(sx - m_padding <= row->rect.x() + row->lengthColumnWidth) - break; + if(row->numberColumnWidth) + { + sx -= row->numberColumnWidth; + painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal); + QString number = QString("%1").arg(row->number); + painter->drawText(sx + m_padding, sy, number); + painter->setPen(m_normal); + painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); + } - int size = row->sizes[i]; - if(i == 0 && row->numberColumnWidth) - size -= row->numberColumnWidth; + sx -= m_metrics->width(row->titles[0]); + painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal); + painter->drawText(sx - m_padding, sy, row->titles[0]); + sx = row->rect.x() + m_padding; painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal); - painter->drawText(sx - m_padding - m_metrics->width(row->titles[i]), sy, row->titles[i]); - sx -= size; - if(row->titles.count() > 1 && sx > row->rect.x() + row->lengthColumnWidth) + if(m_show_lengths && !row->length.isEmpty()) { - painter->setPen(m_normal); - painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); + painter->drawText(sx, sy, row->length); + sx += m_metrics->width(row->length); + sx += m_padding; } - } - - sx = row->rect.x() + m_padding; - painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal); - if(m_show_lengths && !row->length.isEmpty()) - { - painter->drawText(sx, sy, row->length); - sx += m_metrics->width(row->length) + m_padding; + if(!row->extraString.isEmpty()) + { + painter->setFont(m_extra_font); + painter->drawText(sx, sy, row->extraString); + } } - - if(!row->extraString.isEmpty()) + else //|=extra col1=|= col2=| { - painter->setFont(m_extra_font); - painter->drawText(sx, sy, row->extraString); + for(int i = 0; i < row->sizes.count(); i++) + { + painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal); + painter->drawText(sx - m_padding - m_metrics->width(row->titles[i]), sy, row->titles[i]); + sx -= row->sizes[i]; + + if(i == row->trackStateColumn && !row->extraString.isEmpty()) + { + painter->setFont(m_extra_font); + painter->drawText(sx + m_padding, sy, row->extraString); + painter->setFont(m_font); + } + + painter->setPen(m_normal); + painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); + } } } - else*/ + else { - //|= number=|=col1 =|=extra=duration=| + //|= number=|=col =|=extra=duration=| if(row->titles.count() == 1) { if(row->numberColumnWidth) @@ -308,7 +315,6 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); } - painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal); painter->drawText(sx + m_padding, sy, row->titles[0]); @@ -329,7 +335,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawText(sx, sy, row->extraString); } } - else + else //|=col1 extra=|=col2 =| { for(int i = 0; i < row->sizes.count(); i++) { diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp index 502f98a98..13c8658d0 100644 --- a/src/plugins/Ui/skinned/playlistheader.cpp +++ b/src/plugins/Ui/skinned/playlistheader.cpp @@ -557,10 +557,10 @@ void PlayListHeader::paintEvent(QPaintEvent *) bool rtl = (layoutDirection() == Qt::RightToLeft); + QRect rect = m_model->data(0, RECT).toRect(); + if(rtl) { - /*QRect rect = m_model->data(0, RECT).toRect(); - if(m_number_width) { painter.drawLine(rect.right(), 0, rect.right(), height()); @@ -617,12 +617,10 @@ void PlayListHeader::paintEvent(QPaintEvent *) m_model->data(m_pressed_column, RECT).toRect().width() - m_padding - m_metrics->width(m_model->data(m_pressed_column, NAME).toString()), m_metrics->ascent(), m_model->data(m_pressed_column, NAME).toString()); - }*/ + } } else { - QRect rect = m_model->data(0, RECT).toRect(); - if(m_model->count() == 1) { if(m_number_width) |
