aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/skinned
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Ui/skinned')
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp7
-rw-r--r--src/plugins/Ui/skinned/listwidget.h1
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();