diff options
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp index 3dc90aee7..951d52dfa 100644 --- a/src/qmmpui/playlistmodel.cpp +++ b/src/qmmpui/playlistmodel.cpp @@ -113,21 +113,23 @@ void PlayListModel::add(QList<PlayListTrack *> tracks) if(tracks.isEmpty()) return; + m_container->addTracks(tracks); + + if(m_container->trackCount() == tracks.count()) + { + m_current_track = tracks.first(); + m_current = m_container->indexOf(m_current_track); + emit currentChanged(); + } + else if(m_ui_settings->isGroupsEnabled()) + { + //update current index for grouped container only + m_current = m_container->indexOf(m_current_track); + } + foreach(PlayListTrack *track, tracks) { - m_container->addTrack(track); m_total_length += track->length(); - if(m_container->trackCount() == 1) - { - m_current_track = track; - m_current = m_container->indexOf(track); - emit currentChanged(); - } - else if(m_ui_settings->isGroupsEnabled()) - { - //update current index for grouped container only - m_current = m_container->indexOf(m_current_track); - } emit trackAdded(track); } preparePlayState(); |
