1 #ifndef PLAYLISTMANAGER_H
2 #define PLAYLISTMANAGER_H
5 #include <phonon/mediaobject.h>
6 #include <phonon/backendcapabilities.h>
12 Phonon::MediaSource source;
22 PlaylistItem (const QString& uri) : source (Phonon::MediaSource (uri)), uri (uri), playable (false), localFile (false) { }
23 bool operator ==(const Phonon::MediaSource& s) const { return source == s; }
26 class PlaylistManager : public QObject
30 PlaylistManager(QWidget* parent);
31 void addStringList (const QStringList&);
32 void parseAndAddFolder (const QString& dir, bool recursive);
33 void removeItem (int i);
35 QStringList playlistStrings () const;
36 QStringList allowedExt () const { return allowedExtensions; }
37 int size () const { return items.size (); }
38 int indexOf (const Phonon::MediaSource& s) const;
39 const Phonon::MediaSource& at (int i) { return items[i].source; }
40 const PlaylistItem& getItem (int i) const { return items[i]; }
41 bool moveItemUp (int i);
42 bool moveItemDown (int i);
44 bool savePlaylist(const QString& filename);
45 void loadPlaylist(const QString& filename);
47 void addPlaylist (const QString& filename);
49 void playlistChanged (int from);
50 void itemRemoved (int i);
51 void itemUpdated (int index);
53 void metaStateChanged(Phonon::State newState, Phonon::State oldState);
54 void appendPlaylist (const QString& filename);
55 void appendPlaylistPLS (const QString& filename);
57 bool fileSupported (const QString& fname) const;
59 Phonon::MediaObject *metaInformationResolver;
60 QList<PlaylistItem> items;
61 QWidget* parentWidget;
62 static QStringList allowedExtensions;
66 #endif // PLAYLISTMANAGER_H