diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-01-13 17:38:52 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-01-13 17:38:52 +0000 |
| commit | 9783fa786d3c7b0da869bd09747483ea149b6e91 (patch) | |
| tree | 6b76966022d2c26b47d7e803337f476520f5ee61 /src/qmmpui/playlistmodel.cpp | |
| parent | 261ba82130d9c624a3212ff0a6059bb97a4c2b51 (diff) | |
| download | qmmp-9783fa786d3c7b0da869bd09747483ea149b6e91.tar.gz qmmp-9783fa786d3c7b0da869bd09747483ea149b6e91.tar.bz2 qmmp-9783fa786d3c7b0da869bd09747483ea149b6e91.zip | |
added file loader optimization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4691 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
| -rw-r--r-- | src/qmmpui/playlistmodel.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp index 41297b0a3..660924175 100644 --- a/src/qmmpui/playlistmodel.cpp +++ b/src/qmmpui/playlistmodel.cpp @@ -58,10 +58,8 @@ PlayListModel::PlayListModel(const QString &name, QObject *parent) m_play_state = new NormalPlayState(this); connect(m_ui_settings, SIGNAL(groupsChanged(bool)), SLOT(prepareGroups(bool))); connect(m_ui_settings, SIGNAL(shuffleChanged(bool)), SLOT(prepareForShufflePlaying(bool))); - connect(m_loader, SIGNAL(newTrackToAdd(PlayListTrack*)), - SLOT(add(PlayListTrack*)), Qt::QueuedConnection); - connect(m_loader, SIGNAL(newTrackToInsert(PlayListItem*, PlayListTrack*)), - SLOT(insert(PlayListItem*, PlayListTrack*)), Qt::QueuedConnection); + connect(m_loader, SIGNAL(newTracksToInsert(PlayListItem*, QList<PlayListTrack*>)), + SLOT(insert(PlayListItem*, QList<PlayListTrack*>)), Qt::QueuedConnection); connect(m_loader, SIGNAL(finished()), SLOT(preparePlayState())); connect(m_loader, SIGNAL(finished()), SIGNAL(loaderFinished())); connect(m_task, SIGNAL(finished()), SLOT(onTaskFinished())); @@ -191,7 +189,10 @@ void PlayListModel::insert(int index, PlayListTrack *track) void PlayListModel::insert(PlayListItem *before, PlayListTrack *track) { - insert(m_container->indexOf(before), track); + if(before) + insert(m_container->indexOf(before), track); + else + add(track); } void PlayListModel::insert(int index, QList<PlayListTrack *> tracks) @@ -223,6 +224,14 @@ void PlayListModel::insert(int index, QList<PlayListTrack *> tracks) emit listChanged(flags); } +void PlayListModel::insert(PlayListItem *before, QList<PlayListTrack *> tracks) +{ + if(before) + insert(m_container->indexOf(before), tracks); + else + add(tracks); +} + void PlayListModel::insert(int index, const QString &path) { insert(index, QStringList() << path); |
