29#ifndef PLAYLISTITEMMODEL_H
30#define PLAYLISTITEMMODEL_H
32#include "Gui/Utils/SearchableWidget/SearchableModel.h"
34#include "Utils/Library/Sortorder.h"
35#include "Utils/Pimpl.h"
36#include "Utils/Playlist/PlaylistFwd.h"
57 void sigCurrentTrackChanged(
int index);
58 void sigCurrentScannedFileChanged(
const QString& filename);
59 void sigBusyChanged(
bool b);
79 RatingRole = Qt::UserRole + 1,
80 DragIndexRole = Qt::UserRole + 2,
81 EntryLookRole = Qt::UserRole + 3,
82 CurrentPlayingRole = Qt::UserRole + 4,
83 EnabledRole = Qt::UserRole + 5
89 [[nodiscard]]
int playlistIndex()
const;
92 void removeTracks(
const IndexSet& rows);
93 void deleteTracks(
const IndexSet& rows);
95 void findTrack(
int index);
102 void insertTracks(
const QStringList& files,
int row);
104 [[nodiscard]]
int currentTrack()
const;
107 [[nodiscard]]
bool isEnabled(
const int row)
const;
109 [[nodiscard]]
bool hasLocalMedia(
const IndexSet& rows)
const;
110 [[nodiscard]]
bool isLocked()
const;
111 void setLocked(
bool b);
112 void setDragIndex(
int dragIndex);
113 void changeRating(
const IndexSet& rows, Rating rating);
114 void changeTrack(
int trackIndex, Seconds seconds = 0);
116 void setBusy(
bool b);
118 [[nodiscard]] Qt::ItemFlags flags(
const QModelIndex& index = QModelIndex())
const override;
119 [[nodiscard]] QVariant data(
const QModelIndex& index,
int role = Qt::DisplayRole)
const override;
120 bool setData(
const QModelIndex& index,
const QVariant& value,
int role)
override;
121 [[nodiscard]]
int rowCount(
const QModelIndex& parent = QModelIndex())
const override;
122 [[nodiscard]]
int columnCount(
const QModelIndex& parent = QModelIndex())
const override;
124 [[nodiscard]] QMimeData* mimeData(
const QModelIndexList& indexes)
const override;
129 void reverseTracks();
130 void randomizeTracks();
131 void sortTracks(Library::TrackSortorder sortorder);
132 void jumpToNextAlbum();
135 [[nodiscard]]
int itemCount()
const override;
136 [[nodiscard]] QString searchableString(
int index,
const QString& prefix)
const override;
139 void playlistChanged(
int playlistIndex);
140 void currentTrackChanged(
int oldIndex,
int newIndex);
142 void coversChanged();
143 void coverFound(
const QPixmap& pixmap);
144 void coverLookupFinished(
bool success);
147 void startCoverLookup(
const MetaData& track)
const;
149 void refreshPlaylist(
int rowCount,
int columnCount);
Definition: LibraryManager.h:36
Definition: PlaylistModel.h:51
Definition: org_mpris_media_player2_adaptor.h:21
Definition: SearchableModel.h:57
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: Set.h:37