1#ifndef GROUPEDCONTAINER_H
2#define GROUPEDCONTAINER_H
5#include "playlistgroup.h"
6#include "playlistcontainer_p.h"
7#include "playlisttrack.h"
9class GroupedContainer :
public PlayListContainer
14 void addTrack(PlayListTrack *track)
override;
15 void addTracks(
const QList<PlayListTrack *> &tracks)
override;
16 int insertTrack(
int index, PlayListTrack *track)
override;
17 void replaceTracks(
const QList<PlayListTrack *> &tracks)
override;
18 QList<PlayListGroup *> groups()
const override;
19 QList<PlayListTrack *> tracks()
const override;
20 int groupCount()
const override;
21 int trackCount()
const override;
22 QList<PlayListTrack *> mid(
int pos,
int count)
const override;
23 bool isEmpty()
const override;
24 void clearSelection()
override;
25 int indexOf(PlayListItem *item)
const override;
26 PlayListTrack *track(
int index)
const override;
27 PlayListGroup *group(
int index)
const override;
28 bool contains(PlayListTrack *track)
const override;
29 void removeTrack(PlayListTrack *track)
override;
30 void removeTracks(QList<PlayListTrack *> tracks)
override;
31 bool move(
const QList<int> &indexes,
int from,
int to)
override;
32 QList<PlayListTrack *> takeAllTracks()
override;
33 void clear()
override;
34 void reverseList()
override;
35 void randomizeList()
override;
38 int lineCount()
const override;
39 PlayListItem *itemAtLine(
int lineIndex)
const override;
40 QList<PlayListItem *> itemsAtLines(
int pos,
int length = -1)
const override;
41 int subIndexOfLine(
int lineIndex)
const override;
42 int trackIndexAtLine(
int lineIndex)
const override;
43 bool alternateColor(
int lineIndex)
const override;
46 void updateCache()
const;
53 bool alternateColor =
false;
56 QList<PlayListTrack *> m_tracks;
57 QList<PlayListGroup *> m_groups;
58 mutable QList<PlayListLine> m_lines;
59 mutable bool m_update =
true;