20 #ifndef PLAYLISTMODEL_H
21 #define PLAYLISTMODEL_H
25 #include <QStringList>
32 #include "playlistitem.h"
33 #include "playlisttrack.h"
34 #include "playlistgroup.h"
35 #include "qmmpui_export.h"
41 class PlayListContainer;
198 void setSelected(
const QList<PlayListTrack *> &tracks,
bool selected =
true);
204 void setSelected(
const QList<PlayListItem *> &items,
bool selected =
true);
217 void setSelected(
const QList<int> &indexes,
bool selected =
true);
233 QList<PlayListItem *>
mid(
int pos,
int count = -1)
const;
391 void add(
const QList<PlayListTrack *> &tracks);
396 void add(
const QString &path);
401 void add(
const QStringList &paths);
413 void insert(
int index,
const QList<PlayListTrack *> &tracks);
418 void insert(
int index,
const QByteArray &json);
428 void insert(
int index,
const QString &path);
434 void insert(
int index,
const QStringList &paths);
440 void insert(
int index,
const QList<QUrl> &urls);
560 int topmostInSelection(
int);
564 int bottommostInSelection(
int);
569 void removeSelection(
bool inverted =
false);
571 int removeTrackInternal(
int i);
577 void preparePlayState();
581 void prepareForShufflePlaying(
bool yes);
586 void prepareGroups(
bool enabled);
588 void onTaskFinished();
590 void updateMetaData(
const QStringList &paths);
597 PlayState* m_play_state;
598 qint64 m_total_duration = 0;
599 FileLoader *m_loader;
601 PlayListContainer *m_container;
603 PlayListTask *m_task;
604 QSet<QString> m_paths;
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:97
SortMode
Definition: playlistmodel.h:309
@ ALBUMARTIST
Definition: playlistmodel.h:314
@ DATE
Definition: playlistmodel.h:317
@ TRACK
Definition: playlistmodel.h:318
@ DISCNUMBER
Definition: playlistmodel.h:312
@ FILE_CREATION_DATE
Definition: playlistmodel.h:319
@ ARTIST
Definition: playlistmodel.h:313
@ PATH_AND_FILENAME
Definition: playlistmodel.h:316
@ ALBUM
Definition: playlistmodel.h:311
@ FILENAME
Definition: playlistmodel.h:315
@ FILE_MODIFICATION_DATE
Definition: playlistmodel.h:320
int indexOf(PlayListItem *item) const
void sortByColumn(int column)
PlayListTrack * findTrack(int track_index) const
int indexOfTrack(int index) const
void insert(int index, const QByteArray &json)
bool isGroup(int index) const
void add(PlayListTrack *track)
QList< PlayListItem * > findTracks(const QString &str) const
void removeTrack(PlayListItem *track)
bool isStopAfter(const PlayListItem *item) const
void add(const QString &path)
void insert(PlayListItem *before, PlayListTrack *track)
int firstSelectedUpper(int row)
void nameChanged(const QString &name)
void showDetailsForCurrent(QWidget *parent=nullptr)
void insert(int index, const QStringList &paths)
void setSelected(const QList< PlayListTrack * > &tracks, bool selected=true)
qint64 totalDuration() const
void insert(int index, PlayListTrack *track)
void savePlaylist(const QString &f_name)
void showDetails(QWidget *parent=nullptr)
PlayListModel(const QString &name, QObject *parent=nullptr)
void setSelected(const QList< int > &indexes, bool selected=true)
void sortSelection(SortMode mode)
void setSelected(int index, bool selected=true)
void loadPlaylist(const QString &fmt, const QByteArray &data)
void moveItems(int from, int to)
bool isSelected(int index) const
void removeInvalidTracks()
void insert(int index, const QString &path)
PlayListTrack * track(int index) const
void setQueued(PlayListTrack *t)
void removeTracks(const QList< PlayListItem * > &items)
QList< PlayListTrack * > selectedTracks() const
void add(const QStringList &paths)
bool setCurrent(PlayListTrack *item)
PlayListTrack * nextTrack() const
void removeTracks(const QList< PlayListTrack * > &tracks)
PlayListItem * item(int index) const
QList< PlayListItem * > mid(int pos, int count=-1) const
QList< int > selectedIndexes() const
UpdateFlags
Definition: playlistmodel.h:342
bool setCurrent(int index)
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< PlayListTrack * > &tracks)
void insert(int index, const QList< QUrl > &urls)
void doCurrentVisibleRequest()
int firstSelectedLower(int row)
void add(const QList< PlayListTrack * > &tracks)
void insert(PlayListItem *before, const QList< PlayListTrack * > &tracks)
const QList< PlayListTrack * > & queuedTracks() const
void setSelected(const QList< PlayListItem * > &items, bool selected=true)
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:50
int count() const
Definition: playlistmodel.h:68
bool isValid() const
Definition: playlistmodel.h:54
QList< int > m_selected_indexes
Definition: playlistmodel.h:74
int m_bottom
Definition: playlistmodel.h:72
int m_top
Definition: playlistmodel.h:73
void dump() const
Definition: playlistmodel.h:61