aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/skinned/listwidget.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-01-09 17:45:26 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-01-09 17:45:26 +0000
commit89bcbf1452a217aa8c73cf93de006eff0c9fdddb (patch)
tree522462e8301bba54eff834aa96756518fd28a1f8 /src/plugins/Ui/skinned/listwidget.cpp
parent6a5c825ac061c98bcc9929fe2e09391815e5e605 (diff)
downloadqmmp-89bcbf1452a217aa8c73cf93de006eff0c9fdddb.tar.gz
qmmp-89bcbf1452a217aa8c73cf93de006eff0c9fdddb.tar.bz2
qmmp-89bcbf1452a217aa8c73cf93de006eff0c9fdddb.zip
added another optimization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4685 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/skinned/listwidget.cpp')
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp
index efe8adf13..43c06418e 100644
--- a/src/plugins/Ui/skinned/listwidget.cpp
+++ b/src/plugins/Ui/skinned/listwidget.cpp
@@ -435,6 +435,8 @@ void ListWidget::updateList(int flags)
delete m_rows.takeFirst();
}
+ int prev_number = 0;
+
for(int i = 0; i < items.count(); ++i)
{
ListWidgetRow *row = m_rows[i];
@@ -455,7 +457,16 @@ void ListWidget::updateList(int flags)
else
{
row->separator = false;
- row->number = m_model->numberOfTrack(m_first+i) + 1;
+ //optimization: reduce number of PlaListModel::numberOfTrack(int) calls
+ if(!prev_number)
+ {
+ row->number = m_model->numberOfTrack(m_first+i) + 1;
+ prev_number = row->number;
+ }
+ else
+ {
+ row->number = ++prev_number;
+ }
row->length = items[i]->formattedLength();
if(m_show_number && !m_align_numbres)
row->title.prepend(QString("%1").arg(row->number)+". ");
@@ -684,7 +695,7 @@ void ListWidget::contextMenuEvent(QContextMenuEvent * event)
void ListWidget::recenterCurrent()
{
- if (/*!m_scroll && */m_row_count)
+ if (m_row_count)
{
if (m_first + m_row_count < m_model->currentIndex() + 1)
m_first = qMin(m_model->count() - m_row_count,