aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/groupedcontainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/groupedcontainer.cpp')
-rw-r--r--src/qmmpui/groupedcontainer.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/qmmpui/groupedcontainer.cpp b/src/qmmpui/groupedcontainer.cpp
index 73d7fe3a6..4a6bc4019 100644
--- a/src/qmmpui/groupedcontainer.cpp
+++ b/src/qmmpui/groupedcontainer.cpp
@@ -68,6 +68,24 @@ void GroupedContainer::addTrack(PlayListTrack *track)
addGroup(group);
}
+void GroupedContainer::insertTrack(int index, PlayListTrack *track)
+{
+ //insert if possible
+ foreach(PlayListGroup *group, m_groups)
+ {
+ if(track->groupName() == group->formattedTitle() &&
+ index > group->firstIndex && index <= group->lastIndex + 1)
+ {
+ group->insertTrack(index - group->firstIndex - 1, track);
+ m_items.insert(index, track);
+ updateIndex();
+ return;
+ }
+ }
+ //just add otherwise
+ addTrack(track);
+}
+
QList<PlayListGroup *> GroupedContainer::groups()
{
return m_groups;