aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp11
-rw-r--r--src/plugins/Ui/skinned/playlistheader.cpp8
2 files changed, 12 insertions, 7 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp
index 7f549bf3d..d26cd57e4 100644
--- a/src/plugins/Ui/skinned/listwidget.cpp
+++ b/src/plugins/Ui/skinned/listwidget.cpp
@@ -316,10 +316,6 @@ void ListWidget::updateList(int flags)
else
emit positionChanged(m_first, m_model->count() - m_row_count);
- //song numbers width
- m_drawer.calculateNumberWidth(m_model->trackCount());
- m_header->setNumberWidth(m_drawer.numberWidth());
-
items = m_model->mid(m_first, m_row_count);
while(m_rows.count() < qMin(m_row_count, items.count()))
@@ -335,6 +331,13 @@ void ListWidget::updateList(int flags)
if(flags & PlayListModel::STRUCTURE)
m_header->hideSortIndicator();
+ if(flags & PlayListModel::STRUCTURE || flags & PlayListModel::METADATA)
+ {
+ //song numbers width
+ m_drawer.calculateNumberWidth(m_model->trackCount());
+ m_header->setNumberWidth(m_drawer.numberWidth());
+ }
+
int prev_number = 0;
for(int i = 0; i < items.count(); ++i)
diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp
index 8deec99e9..f34567492 100644
--- a/src/plugins/Ui/skinned/playlistheader.cpp
+++ b/src/plugins/Ui/skinned/playlistheader.cpp
@@ -144,11 +144,13 @@ void PlayListHeader::readSettings()
void PlayListHeader::setNumberWidth(int width)
{
- if(width != m_number_width)
+ m_columns[0]->minSize = 30 + (width ? (width + 2 * m_pl_padding) : 0);
+ int size = qMax(m_columns[0]->size, m_columns[0]->minSize);
+
+ if(width != m_number_width || size != m_columns[0]->size)
{
m_number_width = width;
- m_columns[0]->minSize = 30 + (m_number_width ? (m_number_width + 2 * m_pl_padding) : 0);
- m_columns[0]->size = qMax(m_columns[0]->size, m_columns[0]->minSize);
+ m_columns[0]->size = size;
updateColumns();
}
}