[playlist] fixed some signals and reset
[libxmms2client-qt.git] / playlist.h
blobc50b160a0f360976677fc186439f87db92519d35
1 //
2 // C++ Interface: playlist
3 //
4 // Author: Oliver Groß <z.o.gross@gmx.de>, (C) 2008
5 //
6 // Copyright: See COPYING file that comes with this distribution
7 //
8 #ifndef XMMSQT_PLAYLIST_H
9 #define XMMSQT_PLAYLIST_H
11 #include <QObject>
12 #include <QStringList>
13 #include <xmmsclient/xmmsclient.h>
15 namespace XmmsQt {
16 class QClient;
18 class QPlaylist : public QObject {
19 Q_OBJECT
20 private:
21 xmmsc_connection_t * m_Connection;
22 QList<quint32> m_IDList;
23 quint32 m_Position;
25 static void loadedCallback(xmmsc_result_t * result, void * instance);
26 static void changedCallback(xmmsc_result_t * result, void * instance);
27 static void fillIDListCallback(xmmsc_result_t * result, void * instance);
28 static void currentPosCallback(xmmsc_result_t * result, void * instance);
29 private slots:
30 void setConnection(xmmsc_connection_t * connection);
31 public:
32 QPlaylist(QClient * parent = 0);
33 ~QPlaylist();
35 xmmsc_connection_t * connection() const { return m_Connection; }
36 QList<quint32> & idList() { return m_IDList; }
37 quint32 position() const { return m_Position; };
39 void reset();
40 public slots:
41 void append(quint32 id);
42 void append(QString url);
43 void append(QList<quint32> ids);
44 void append(QStringList urls);
45 void appendRecursive(QString directory);
46 void insert(quint32 id, quint32 position);
47 void insert(QString url, quint32 position);
48 void insert(QList<quint32> ids, quint32 position);
49 void insert(QStringList urls, quint32 position);
50 void remove(quint32 position);
51 void move(quint32 from, quint32 to);
52 void clear();
53 /* void sort(QStringList properties);*/
54 void randomize();
55 void setNext(quint32 position);
56 signals:
57 // void entryAppended(quint32 id);
58 void entryAboutToBeInserted(quint32 position, quint32 id);
59 void entryAboutToBeRemoved(quint32 position, quint32 id);
60 void entryInserted(quint32 position, quint32 id);
61 void entryRemoved(quint32 position, quint32 id);
62 void entryMoved(quint32 from, quint32 to);
63 void entryUpdated(quint32 position, quint32 oldid);
64 //void cleared();
65 //void sortingChanged();
66 void reseted();
67 void currentChanged(quint32 position);
71 #endif