diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.h | 1 | ||||
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 5 | ||||
| -rw-r--r-- | src/qmmpui/playlistmodel.h | 7 |
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. |
