29 #ifndef PLAYLISTITEMMODEL_H_
30 #define PLAYLISTITEMMODEL_H_
32 #include "Gui/Utils/SearchableWidget/SearchableModel.h"
33 #include "Utils/Playlist/PlaylistFwd.h"
34 #include "Utils/Pimpl.h"
73 RatingRole=Qt::UserRole + 1,
74 RadioModeRole=Qt::UserRole + 2,
75 DragIndexRole=Qt::UserRole + 3,
76 EntryLookRole=Qt::UserRole + 4
79 explicit Model(PlaylistPtr pl, QObject* parent=
nullptr);
83 void removeTracks(
const IndexSet& rows);
89 void insertTracks(
const QStringList& files,
int row);
91 int currentTrack()
const;
92 void setCurrentTrack(
int row);
97 bool hasLocalMedia(
const IndexSet& rows)
const;
98 void setDragIndex(
int dragIndex);
99 void setRowHeight(
int rowHeight);
100 void changeRating(
const IndexSet& rows, Rating rating);
102 QModelIndex getRowIndexOf(
const QString& substr,
int row,
bool is_forward);
104 Qt::ItemFlags flags(
const QModelIndex& index=QModelIndex())
const override;
105 QVariant data(
const QModelIndex& index,
int role=Qt::DisplayRole)
const override;
106 bool setData(
const QModelIndex& index,
const QVariant &value,
int role)
override;
107 int rowCount(
const QModelIndex& parent=QModelIndex())
const override;
108 int columnCount(
const QModelIndex& parent=QModelIndex())
const override;
111 QMimeData* mimeData(
const QModelIndexList& indexes)
const override;
112 QModelIndexList searchResults(
const QString& substr)
override;
118 void playlistChanged(
int playlistIndex);