aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
-rw-r--r--src/qmmpui/playlistmodel.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index e325484f1..4cddd236e 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -56,8 +56,7 @@ PlayListModel::PlayListModel(const QString &name, QObject *parent)
m_stop_track = 0;
m_play_state = new NormalPlayState(this);
m_loader = new FileLoader(this);
- m_container = new GroupedContainer;
- //m_container = new NormalContainer;
+ m_container = new NormalContainer;
connect(m_loader, SIGNAL(newPlayListTrack(PlayListTrack*)),
SLOT(add(PlayListTrack*)), Qt::QueuedConnection);
connect(m_loader, SIGNAL(finished()), SLOT(preparePlayState()));
@@ -869,6 +868,21 @@ void PlayListModel::prepareForRepeatablePlaying(bool val)
m_is_repeatable_list = val;
}
+void PlayListModel::prepareGroups(bool enabled)
+{
+ PlayListContainer *container = 0;
+ if(enabled)
+ container = new GroupedContainer;
+ else
+ container = new NormalContainer;
+ container->addTracks(m_container->takeAllTracks());
+ delete m_container;
+ m_container = container;
+ if(!m_container->isEmpty())
+ m_current = m_container->indexOf(m_current_track);
+ emit listChanged();
+}
+
void PlayListModel::doCurrentVisibleRequest()
{
emit currentChanged();