Sayonara Player
Public Slots | Signals | Public Member Functions | List of all members
Playlist::Handler Class Reference

Global handler for playlists. More...

#include <PlaylistHandler.h>

Inheritance diagram for Playlist::Handler:
PlaylistCreator PlaylistAccessor

Public Slots

void closePlaylist (int playlistIndex)
 close playlist More...
 

Signals

void sigNewPlaylistAdded (int playlistIndex)
 emitted when new playlist has been added More...
 
void sigPlaylistNameChanged (int playlistIndex)
 emitted when playlist name has changed More...
 
void sigCurrentPlaylistChanged (int playlistIndex)
 emitted when tracks were added/removed or have changed More...
 
void sigActivePlaylistChanged (int playlistIndex)
 
void sigTrackDeletionRequested (const MetaDataList &tracks, Library::TrackDeletionMode deletion_mode)
 emitted when a track deletion was triggered over the Ui More...
 
void sigPlaylistClosed (int playlistIndex)
 

Public Member Functions

 Handler (PlayManager *playManager, std::shared_ptr<::Playlist::Loader > playlistLoader)
 
void shutdown ()
 Call this before the program stops. Singletons and Destructors don't work out so well.
 
int count () const override
 Returns number of playlists. More...
 
PlaylistPtr playlist (int playlistIndex) override
 get specific playlist at given index More...
 
PlaylistPtr playlistById (int playlistId) override
 
int activeIndex () const override
 
PlaylistPtr activePlaylist () override
 
int currentIndex () const override
 
void setCurrentIndex (int playlistIndex) override
 
QString requestNewPlaylistName (const QString &prefix=QString()) const override
 Request a new name for the playlist (usually New %1 is returned). If the prefix differs, instead of New, the prefix is chosen. E.g. "File system 2" for tracks added by the file manager. More...
 
int createPlaylist (const MetaDataList &tracks, const QString &name=QString(), bool temporary=true) override
 create a new playlist More...
 
int createPlaylist (const QStringList &pathList, const QString &name=QString(), bool temporary=true) override
 create a new playlist (overloaded) More...
 
int createCommandLinePlaylist (const QStringList &pathList) override
 
int createPlaylist (const CustomPlaylist &customPlaylist) override
 create a new playlist (overloaded) More...
 
int createEmptyPlaylist (bool override=false) override
 create a new empty playlist More...
 

Detailed Description

Global handler for playlists.

Member Function Documentation

◆ activeIndex()

int Playlist::Handler::activeIndex ( ) const
overridevirtual

Implements PlaylistAccessor.

◆ activePlaylist()

PlaylistPtr Playlist::Handler::activePlaylist ( )
overridevirtual

Implements PlaylistAccessor.

◆ closePlaylist

void Playlist::Handler::closePlaylist ( int  playlistIndex)
slot

close playlist

Parameters
playlistIndexplaylist index

◆ count()

int Playlist::Handler::count ( ) const
overridevirtual

Returns number of playlists.

Returns

Implements PlaylistAccessor.

◆ createCommandLinePlaylist()

int Playlist::Handler::createCommandLinePlaylist ( const QStringList &  pathList)
overridevirtual

Implements PlaylistCreator.

◆ createEmptyPlaylist()

int Playlist::Handler::createEmptyPlaylist ( bool  override = false)
overridevirtual

create a new empty playlist

Parameters
namenew playlist name. If no name given, current playlist will be overwritten
Returns
new playlist index

Implements PlaylistCreator.

◆ createPlaylist() [1/3]

int Playlist::Handler::createPlaylist ( const CustomPlaylist customPlaylist)
overridevirtual

create a new playlist (overloaded)

Parameters
customPlaylista CustomPlaylist object fetched from database
Returns
new playlist index

Implements PlaylistCreator.

◆ createPlaylist() [2/3]

int Playlist::Handler::createPlaylist ( const MetaDataList tracks,
const QString &  name = QString(),
bool  temporary = true 
)
overridevirtual

create a new playlist

Parameters
trackstrack list
namenew playlist name. If no name given, current playlist will be overwritten
temporaryis the playlist temporary or persistent?
typedeprecated
Returns
new playlist index

Implements PlaylistCreator.

◆ createPlaylist() [3/3]

int Playlist::Handler::createPlaylist ( const QStringList &  pathList,
const QString &  name = QString(),
bool  temporary = true 
)
overridevirtual

create a new playlist (overloaded)

Parameters
pathlistpaths, may contain files or directories
namenew playlist name. If no name given, current playlist will be overwritten
temporaryis the playlist temporary or persistent?
typedeprecated
Returns
new playlist index

Implements PlaylistCreator.

◆ currentIndex()

int Playlist::Handler::currentIndex ( ) const
overridevirtual

Implements PlaylistAccessor.

◆ playlist()

PlaylistPtr Playlist::Handler::playlist ( int  playlistIndex)
overridevirtual

get specific playlist at given index

Parameters
playlistIndexplaylist index
Returns
read only pointer object to a playlist, may be nullptr

Implements PlaylistAccessor.

◆ playlistById()

PlaylistPtr Playlist::Handler::playlistById ( int  playlistId)
overridevirtual

Implements PlaylistAccessor.

◆ requestNewPlaylistName()

QString Playlist::Handler::requestNewPlaylistName ( const QString &  prefix = QString()) const
overridevirtual

Request a new name for the playlist (usually New %1 is returned). If the prefix differs, instead of New, the prefix is chosen. E.g. "File system 2" for tracks added by the file manager.

Parameters
Theprefix is a localized "New" by default.
Returns
playlist name

Implements PlaylistCreator.

◆ setCurrentIndex()

void Playlist::Handler::setCurrentIndex ( int  playlistIndex)
overridevirtual

Implements PlaylistAccessor.

◆ sigCurrentPlaylistChanged

void Playlist::Handler::sigCurrentPlaylistChanged ( int  playlistIndex)
signal

emitted when tracks were added/removed or have changed

Parameters
playlistIndexplaylist index

◆ sigNewPlaylistAdded

void Playlist::Handler::sigNewPlaylistAdded ( int  playlistIndex)
signal

emitted when new playlist has been added

Parameters
playlistIndexreference to new playlist

◆ sigPlaylistNameChanged

void Playlist::Handler::sigPlaylistNameChanged ( int  playlistIndex)
signal

emitted when playlist name has changed

Parameters
playlistIndexindex of playlist

◆ sigTrackDeletionRequested

void Playlist::Handler::sigTrackDeletionRequested ( const MetaDataList tracks,
Library::TrackDeletionMode  deletion_mode 
)
signal

emitted when a track deletion was triggered over the Ui

Parameters
trackswhich tracks should be deleted
deletion_mode