00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef FILELOADER_H
00021 #define FILELOADER_H
00022
00023 #include <QObject>
00024 #include <QDir>
00025 #include <QQueue>
00026 #include <QThread>
00027
00028 class PlayListItem;
00029
00039 class FileLoader : public QThread
00040 {
00041 Q_OBJECT
00042 public:
00047 FileLoader(QObject *parent = 0);
00051 ~FileLoader();
00055 void finish();
00059 void loadFile(const QString &path);
00063 void loadFiles(const QStringList &paths);
00067 void loadDirectory(const QString &path);
00068
00069 signals:
00074 void newPlayListItem(PlayListItem *item);
00075
00076 protected:
00077 virtual void run();
00078 void addFile(const QString &path);
00079 void addDirectory(const QString &s);
00080
00081 private:
00082 QQueue <QString> m_files;
00083 QQueue <QString> m_directories;
00084 QStringList m_filters;
00085 bool m_finished;
00086 };
00087
00088 #endif