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.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 828c914de..2646b71ed 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -179,6 +179,11 @@ PlayListTrack* PlayListModel::track(int index) const
return m_container->track(index);
}
+PlayListGroup* PlayListModel::group(int index) const
+{
+ return m_container->group(index);
+}
+
int PlayListModel::currentIndex() const
{
return m_current;
@@ -190,7 +195,10 @@ bool PlayListModel::setCurrent(int index)
return false;
PlayListItem *item = m_container->item(index);
if(item->isGroup())
- return false;
+ {
+ index++;
+ item = m_container->item(index);
+ }
m_current = index;
m_current_track = dynamic_cast<PlayListTrack*> (item);
emit currentChanged();
@@ -212,6 +220,13 @@ bool PlayListModel::isTrack(int index) const
return !m_container->item(index)->isGroup();
}
+bool PlayListModel::isGroup(int index) const
+{
+ if (index > count()-1 || index < 0)
+ return false;
+ return !m_container->item(index)->isGroup();
+}
+
bool PlayListModel::next()
{
if(m_stop_track == currentTrack())