aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmpui/playlistmodel.cpp16
-rw-r--r--src/qmmpui/playlistparser.cpp2
2 files changed, 7 insertions, 11 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 3e930198f..aa39e3ece 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -198,14 +198,7 @@ void PlayListModel::insert(int index, QList<PlayListTrack *> tracks)
void PlayListModel::insert(int index, const QString &path)
{
- if(index < 0 || index >= m_container->count())
- add(path);
- else
- {
- PlayListItem *before = m_container->item(index);
- m_loader->insert(before, path);
- }
- //TODO insert playlist
+ insert(index, QStringList() << path);
}
void PlayListModel::insert(int index, const QStringList &paths)
@@ -215,9 +208,12 @@ void PlayListModel::insert(int index, const QStringList &paths)
else
{
PlayListItem *before = m_container->item(index);
- m_loader->insert(before, paths);
+
+ QStringList list = paths;
+ foreach (QString path, paths)
+ list.append(PlayListParser::loadPlaylist(path));
+ m_loader->insert(before, list);
}
- //TODO insert playlist
}
void PlayListModel::insert(int index, const QList<QUrl> &urls)
diff --git a/src/qmmpui/playlistparser.cpp b/src/qmmpui/playlistparser.cpp
index 5e467a132..d6e79c25c 100644
--- a/src/qmmpui/playlistparser.cpp
+++ b/src/qmmpui/playlistparser.cpp
@@ -110,7 +110,7 @@ QStringList PlayListParser::loadPlaylist(const QString &f_name)
if (!file.open(QIODevice::ReadOnly))
{
qWarning("PlayListParser: unable to open playlist, error: %s", qPrintable(file.errorString()));
- return;
+ return list;
}
list = prs->decode(QTextStream(&file).readAll());