new buttons, loads pls files
[tomamp] / playlistmanager.h
index 8594432..a22008b 100644 (file)
@@ -18,26 +18,32 @@ struct PlaylistItem
     bool operator ==(const Phonon::MediaSource& s) const { return source == s; }
 };
 
-class PlaylistManager
+class PlaylistManager : public QObject
 {
+    Q_OBJECT
 public:
     PlaylistManager(QWidget* parent);
     void addStringList (const QStringList&);
     void parseAndAddFolder (const QString& dir, bool recursive);
+    void removeItem (int i);
 
-    QStringList playlist () const { return QStringList (); }
+    QStringList playlistStrings () const;
     int size () const { return items.size (); }
-    int indexOf (const Phonon::MediaSource& s) const  { return items.indexOf (s); }
+    int indexOf (const Phonon::MediaSource& s) const;
     const Phonon::MediaSource& at (int i) { return items[i].source; }
     const PlaylistItem& getItem (int i) const { return items[i]; }
 public slots:
     void savePlaylist(const QString& filename);
     void loadPlaylist(const QString& filename);
     void clearPlaylist();
+    void addPlaylist (const QString& filename);
 signals:
-    void playlistChanged (QStringList newItems);
+    void playlistChanged (int from);
+    void itemUpdated (int index);
 private slots:
     void metaStateChanged(Phonon::State newState, Phonon::State oldState);
+    void appendPlaylist (const QString& filename);
+    void appendPlaylistPLS (const QString& filename);
 private:
 
     Phonon::MediaObject *metaInformationResolver;