00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef __playlist_h
00034 #define __playlist_h
00035
00036 #include <qpe/applnk.h>
00037
00038 #include <qlistview.h>
00039 #include <qstringlist.h>
00040
00041 namespace XINE {
00042 class Lib;
00043 }
00044
00045 class PlaylistView;
00046
00047 class PlaylistItem:public QListViewItem
00048 {
00049 public:
00050 PlaylistItem(const DocLnk&aLink,PlaylistView*parent);
00051 PlaylistItem(const DocLnk&aLink,PlaylistView*parent,PlaylistItem*after);
00052 virtual ~PlaylistItem();
00053
00054 const DocLnk&Lnk()const{return m_Content;}
00055 void Video(bool y);
00056 bool isVideo()const{return m_video;}
00057
00058 protected:
00059 DocLnk m_Content;
00060 bool m_video:1;
00061 };
00062
00063 typedef QValueList<PlaylistItem*> t_itemlist;
00064
00065 class PlaylistView:public QListView
00066 {
00067 Q_OBJECT
00068 public:
00069 PlaylistView( QWidget *parent = 0, const char *name = 0);
00070 virtual ~PlaylistView();
00071 XINE::Lib*getXine();
00072 PlaylistItem* currentItem()const;
00073 void setCurrentItem(PlaylistItem*);
00074 PlaylistItem* nextItem(PlaylistItem*parent)const;
00075 PlaylistItem* prevItem(PlaylistItem*parent)const;
00076
00077 void removeFromList(PlaylistItem*Item);
00078
00079 enum itemcolumns{
00080 COL_ICON=0,
00081 COL_FILE=1,
00082 COL_TIME=2,
00083 COL_ARTIST=3,
00084 COL_ALBUM=4,
00085 COL_TITLE=5,
00086 COL_TYPE=6,
00087 COL_SIZE=7
00088 };
00089 void addFile(const QString&aFile,const QString&aName="");
00090 signals:
00091 void contentChanged(int);
00092
00093 public slots:
00094 virtual void slotAddFile(const DocLnk&);
00095 virtual void slotAppendDir();
00096 virtual void slotOpenM3u();
00097 virtual void slotSaveAsM3u();
00098 virtual void slotDummyStop();
00099
00100 protected:
00101 void checkLib();
00102 void readPlayList(const QString&);
00103 QStringList columnLabels;
00104 XINE::Lib*m_Infolib;
00105 PlaylistItem*m_lastItem;
00106 t_itemlist m_items;
00107 QString m_lastDir;
00108 };
00109
00110 #endif