aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistmodel.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-01-13 17:38:52 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-01-13 17:38:52 +0000
commit9783fa786d3c7b0da869bd09747483ea149b6e91 (patch)
tree6b76966022d2c26b47d7e803337f476520f5ee61 /src/qmmpui/playlistmodel.cpp
parent261ba82130d9c624a3212ff0a6059bb97a4c2b51 (diff)
downloadqmmp-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.cpp19
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);