1 #ifndef PLAYLISTMANAGER_H
2 #define PLAYLISTMANAGER_H
5 #include <phonon/mediaobject.h>
6 #include <phonon/backendcapabilities.h>
10 Phonon::MediaSource source;
17 PlaylistItem (const QString& uri) : source (Phonon::MediaSource (uri)), uri (uri), playable (false), localFile (false) { }
18 bool operator ==(const Phonon::MediaSource& s) const { return source == s; }
21 class PlaylistManager : public QObject
25 PlaylistManager(QWidget* parent);
26 void addStringList (const QStringList&);
27 void parseAndAddFolder (const QString& dir, bool recursive);
28 void removeItem (int i);
30 QStringList playlistStrings () const;
31 int size () const { return items.size (); }
32 int indexOf (const Phonon::MediaSource& s) const;
33 const Phonon::MediaSource& at (int i) { return items[i].source; }
34 const PlaylistItem& getItem (int i) const { return items[i]; }
36 void savePlaylist(const QString& filename);
37 void loadPlaylist(const QString& filename);
40 void playlistChanged (int from);
41 void itemUpdated (int index);
43 void metaStateChanged(Phonon::State newState, Phonon::State oldState);
46 Phonon::MediaObject *metaInformationResolver;
47 QList<PlaylistItem> items;
48 QWidget* parentWidget;
51 #endif // PLAYLISTMANAGER_H