aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp14
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.cpp6
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.h3
3 files changed, 7 insertions, 16 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp
index c634ee53a..2f950ca6b 100644
--- a/src/plugins/Ui/skinned/listwidget.cpp
+++ b/src/plugins/Ui/skinned/listwidget.cpp
@@ -337,7 +337,6 @@ void ListWidget::updateList(int flags)
m_header->setNumberWidth(m_drawer.numberWidth());
}
- int prev_number = 0;
int trackStateColumn = m_header->trackStateColumn();
for(int i = 0; i < items.count(); ++i)
@@ -364,22 +363,13 @@ void ListWidget::updateList(int flags)
if(items[i]->isGroup())
{
row->flags |= ListWidgetRow::GROUP;
- row->number = 0;
+ row->trackIndex = -1;
row->length.clear();
}
else
{
row->flags &= ~ListWidgetRow::GROUP;
- //optimization: reduces number of PlaListModel::numberOfTrack(int) calls
- if(!prev_number)
- {
- row->number = m_model->indexOfTrack(m_first+i) + 1;
- prev_number = row->number;
- }
- else
- {
- row->number = ++prev_number;
- }
+ row->trackIndex = items.at(i)->trackIndex();
row->length = items[i]->formattedLength();
row->extraString = getExtraString(m_first + i);
}
diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp
index fb0b87f9c..50b161a64 100644
--- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp
+++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp
@@ -125,7 +125,7 @@ void ListWidgetDrawer::prepareRow(ListWidgetRow *row)
if(row->titles.count() == 1)
{
if(m_show_number && !m_align_numbers)
- row->titles[0].prepend(QString("%1").arg(row->number)+". ");
+ row->titles[0].prepend(QString("%1").arg(row->trackIndex)+". ");
if((m_show_lengths && !row->length.isEmpty()) || !row->extraString.isEmpty())
row->lengthColumnWidth = m_padding;
@@ -254,7 +254,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
{
sx -= row->numberColumnWidth;
painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal);
- QString number = QString("%1").arg(row->number);
+ QString number = QString("%1").arg(row->trackIndex);
painter->drawText(sx + m_padding, sy, number);
painter->setPen(m_normal);
painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
@@ -309,7 +309,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
{
sx += row->numberColumnWidth;
painter->setPen(row->flags & ListWidgetRow::CURRENT ? m_current : m_normal);
- QString number = QString("%1").arg(row->number);
+ QString number = QString("%1").arg(row->trackIndex);
painter->drawText(sx - m_padding - m_metrics->width(number), sy, number);
painter->setPen(m_normal);
painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.h b/src/plugins/Ui/skinned/listwidgetdrawer.h
index 5a11c23ed..88d65d6f6 100644
--- a/src/plugins/Ui/skinned/listwidgetdrawer.h
+++ b/src/plugins/Ui/skinned/listwidgetdrawer.h
@@ -40,12 +40,13 @@ struct ListWidgetRow
numberColumnWidth = 0;
lengthColumnWidth = 0;
trackStateColumn = -1;
+ trackIndex = -1;
}
QStringList titles;
QList<int> sizes;
QString length;
QString extraString;
- int number;
+ int trackIndex;
int numberColumnWidth;
int lengthColumnWidth;
int trackStateColumn;