diff options
Diffstat (limited to 'src/plugins/Ui')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index 2f3df05d2..c5418ddeb 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -504,6 +504,11 @@ void ListWidget::updateRepeatIndicator() updateList(PlayListModel::CURRENT | PlayListModel::STRUCTURE); } +void ListWidget::scrollToCurrent() +{ + updateList(PlayListModel::CURRENT | PlayListModel::STRUCTURE); +} + void ListWidget::setModel(PlayListModel *selected, PlayListModel *previous) { if(previous) @@ -514,7 +519,7 @@ void ListWidget::setModel(PlayListModel *selected, PlayListModel *previous) m_scroll = false; recenterCurrent(); //TODO restore position updateList(PlayListModel::STRUCTURE); - //connect (m_model, SIGNAL(currentChanged()), SLOT(recenterCurrent())); + connect (m_model, SIGNAL(currentVisibleRequest()), SLOT(scrollToCurrent())); connect (m_model, SIGNAL(listChanged(int)), SLOT(updateList(int))); } diff --git a/src/plugins/Ui/skinned/listwidget.h b/src/plugins/Ui/skinned/listwidget.h index 9be8ef8a6..5af54eb7c 100644 --- a/src/plugins/Ui/skinned/listwidget.h +++ b/src/plugins/Ui/skinned/listwidget.h @@ -107,6 +107,7 @@ private slots: void updateSkin(); void autoscroll(); void updateRepeatIndicator(); + void scrollToCurrent(); private: void loadColors(); |
