aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp7
-rw-r--r--src/plugins/Ui/skinned/listwidget.h1
-rw-r--r--src/qmmpui/playlistmodel.cpp5
-rw-r--r--src/qmmpui/playlistmodel.h7
4 files changed, 13 insertions, 7 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();
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 32e0619ff..41297b0a3 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -887,9 +887,8 @@ void PlayListModel::onTaskFinished()
void PlayListModel::doCurrentVisibleRequest()
{
- //TODO check these signals
- //emit currentChanged();
- //emit listChanged();
+ if(!m_container->isEmpty())
+ emit currentVisibleRequest();
}
void PlayListModel::loadPlaylist(const QString &f_name)
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index c5cc63058..31eb36e58 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -332,6 +332,9 @@ signals:
*/
void loaderFinished();
+
+ void currentVisibleRequest();
+
public slots:
/*!
* Adds \b track to the playlist.
@@ -419,9 +422,7 @@ public slots:
* @param parent parent Widget.
*/
void showDetails(QWidget *parent = 0);
- /*!
- * Emits update signals manually.
- */
+
void doCurrentVisibleRequest();
/*!
* Randomly changes items order.