diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.cpp | 11 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.cpp | 8 |
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(); } } |
