Further Playlist interface improvements for usability.
[vlc-remote] / playlistmainwindow.h
index 47c38f4..a6a444f 100644 (file)
@@ -1,20 +1,20 @@
 /*   VLC-REMOTE for MAEMO 5
- *   Copyright (C) 2010 Schutz Sacha <istdasklar@gmail.com>
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
+*   Copyright (C) 2010 Schutz Sacha <istdasklar@gmail.com>, Dru Moore <usr@dru-id.co.uk>, Yann Nave <yannux@onbebop.net>
+*   This program is free software; you can redistribute it and/or modify
+*   it under the terms of the GNU General Public License version 2,
+*   or (at your option) any later version, as published by the Free
+*   Software Foundation
+*
+*   This program is distributed in the hope that it will be useful,
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*   GNU General Public License for more details
+*
+*   You should have received a copy of the GNU General Public
+*   License along with this program; if not, write to the
+*   Free Software Foundation, Inc.,
+*   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+*/
 #ifndef PLAYLISTMAINWINDOW_H
 #define PLAYLISTMAINWINDOW_H
 
@@ -23,6 +23,7 @@
 #include <QtNetwork>
 #include <QtXml>
 #include "vlcplaylistelementsimple.h"
+#include "vlcstatus.h"
 
 #ifndef LIST_ITEM_TYPE_OFFSET
 #define LIST_ITEM_TYPE_OFFSET 1000
@@ -37,7 +38,7 @@ class PlayListMainWindow : public QMainWindow {
 public:
     explicit PlayListMainWindow(QWidget *parent = 0);
     ~PlayListMainWindow();
-
+    void init();
 public slots:
     void onClear();
     void onShuffle();
@@ -47,14 +48,24 @@ public slots:
     void onRemove();
     void requestPlayList();
     void onListSelectionChanged();
+    void finished(QNetworkReply * reply);
+    void readReady();
+    void error(QNetworkReply::NetworkError code);
+    void showPlayList();
+    void updateUiWithCurrentStatus(VlcStatus * status);
 
 protected slots:
     void parseXmlPlayList();
     void updateList();
+    int parsePlayListItem(QDomNode *node, QString *extension, bool *hasArt, int *currentLeafId, int depth);
+
+signals:
+    void idUpdated(int id, bool hasArt, QString extension);
 
 protected:
     void changeEvent(QEvent *e);
-    VlcPlayListElementSimple getElementFromText(QString text);
+    VlcPlayListElementSimple getElementFromId(int id);
+    QString getExtension(QString path, QString extension);
 
 private:
     Ui::PlayListMainWindow *ui;
@@ -65,6 +76,7 @@ private:
     VlcPlayListElementSimple mCurrentElement;
     int mCurrentVlcIndex;
     int mCurrentDepth;
+    QByteArray mResponse;
 };
 
 #endif // PLAYLISTMAINWINDOW_H