20 #ifndef PLAYLISTMODEL_H
21 #define PLAYLISTMODEL_H
25 #include <QStringList>
31 #include "playlistitem.h"
32 #include "playlisttrack.h"
33 #include "playlistgroup.h"
34 #include "qmmpui_export.h"
40 class PlayListContainer;
205 void setSelected(QList<PlayListTrack *> tracks,
bool selected =
true);
211 void setSelected(QList<PlayListItem *> items,
bool selected =
true);
240 QList<PlayListItem *>
mid(
int pos,
int count = -1)
const;
402 void add(QList <PlayListTrack *> tracks);
407 void add(
const QString &path);
412 void add(
const QStringList &paths);
424 void insert(
int index, QList <PlayListTrack *> tracks);
434 void insert(
int index,
const QString &path);
440 void insert(
int index,
const QStringList &paths);
446 void insert(
int index,
const QList<QUrl> &urls);
566 int topmostInSelection(
int);
570 int bottommostInSelection(
int);
575 void removeSelection(
bool inverted =
false);
577 int removeTrackInternal(
int i);
583 void preparePlayState();
587 void prepareForShufflePlaying(
bool yes);
592 void prepareGroups(
bool enabled);
594 void onTaskFinished();
601 QQueue <PlayListTrack*> m_queued_songs;
602 PlayState* m_play_state;
603 qint64 m_total_duration;
604 FileLoader *m_loader;
606 PlayListContainer *m_container;
608 PlayListTask *m_task;
The PlayListTrack class provides a group for use with the PlayListModel class.
Definition: playlistgroup.h:34
The PlayListItem class provides an item for use with the PlayListModel class.
Definition: playlistitem.h:32
The PlayListModel class provides a data model for the playlist.
Definition: playlistmodel.h:104
SortMode
Definition: playlistmodel.h:320
@ ALBUMARTIST
Definition: playlistmodel.h:325
@ DATE
Definition: playlistmodel.h:328
@ TRACK
Definition: playlistmodel.h:329
@ DISCNUMBER
Definition: playlistmodel.h:323
@ FILE_CREATION_DATE
Definition: playlistmodel.h:330
@ ARTIST
Definition: playlistmodel.h:324
@ PATH_AND_FILENAME
Definition: playlistmodel.h:327
@ ALBUM
Definition: playlistmodel.h:322
@ FILENAME
Definition: playlistmodel.h:326
@ FILE_MODIFICATION_DATE
Definition: playlistmodel.h:331
int indexOf(PlayListItem *item) const
void sortByColumn(int column)
void setSelected(QList< PlayListItem * > items, bool selected=true)
bool isQueued(PlayListTrack *item) const
PlayListTrack * findTrack(int track_index) const
int indexOfTrack(int index) const
bool isGroup(int index) const
void add(PlayListTrack *track)
QList< PlayListItem * > findTracks(const QString &str) const
void removeTrack(PlayListItem *track)
void sortSelection(int mode)
void add(const QString &path)
void insert(PlayListItem *before, PlayListTrack *track)
int firstSelectedUpper(int row)
void nameChanged(const QString &name)
void setSelected(QList< int > indexes, bool selected=true)
void insert(int index, const QStringList &paths)
void insert(int index, QList< PlayListTrack * > tracks)
qint64 totalDuration() const
void insert(int index, PlayListTrack *track)
void savePlaylist(const QString &f_name)
void showDetails(QWidget *parent=0)
void setSelected(int index, bool selected=true)
void insert(PlayListItem *before, QList< PlayListTrack * > tracks)
void loadPlaylist(const QString &fmt, const QByteArray &data)
void moveItems(int from, int to)
void showDetailsForCurrent(QWidget *parent=0)
bool isSelected(int index) const
void removeInvalidTracks()
void insert(int index, const QString &path)
int queuedIndex(PlayListTrack *track) const
PlayListTrack * track(int index) const
void removeTracks(const QList< PlayListItem * > &items)
void setSelected(QList< PlayListTrack * > tracks, bool selected=true)
QList< PlayListTrack * > selectedTracks() const
void add(const QStringList &paths)
PlayListModel(const QString &name, QObject *parent=0)
bool setCurrent(PlayListTrack *item)
PlayListTrack * nextTrack() const
void removeTracks(const QList< PlayListTrack * > &tracks)
bool isStopAfter(PlayListItem *item) const
PlayListItem * item(int index) const
QList< PlayListItem * > mid(int pos, int count=-1) const
QList< int > selectedIndexes() const
void setQueued(PlayListTrack *item)
UpdateFlags
Definition: playlistmodel.h:353
bool setCurrent(int index)
void add(QList< PlayListTrack * > tracks)
void setName(const QString &name)
void scrollToRequest(int index)
bool isTrack(int index) const
void listChanged(int flags)
void sortingByColumnFinished(int column, bool reverted)
bool isLoaderRunning() const
void trackAdded(PlayListTrack *track)
PlayListGroup * group(int index) const
void loadPlaylist(const QString &f_name)
const SimpleSelection & getSelection(int row)
QList< PlayListItem * > items() const
bool isEmptyQueue() const
void setSelected(int first, int last, bool selected=true)
bool contains(const QString &url)
void insert(int index, const QList< QUrl > &urls)
void doCurrentVisibleRequest()
int firstSelectedLower(int row)
PlayListTrack * currentTrack() const
The PlayListTrack class provides a track for use with the PlayListModel class.
Definition: playlisttrack.h:37
The QmmpUiSettings class provides access to global libqmmpui library settings.
Definition: qmmpuisettings.h:37
Helper class that keeps track of a view's selected items.
Definition: playlistmodel.h:49
int count() const
Definition: playlistmodel.h:75
SimpleSelection()
Definition: playlistmodel.h:53
bool isValid() const
Definition: playlistmodel.h:61
QList< int > m_selected_indexes
Definition: playlistmodel.h:81
int m_bottom
Definition: playlistmodel.h:79
int m_top
Definition: playlistmodel.h:80
void dump() const
Definition: playlistmodel.h:68