00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef PLAYLISTMODIFIERBASE_H
00025 #define PLAYLISTMODIFIERBASE_H
00026
00027 #include <QThread>
00028 #include <QMutex>
00029
00030 class PlaylistChildThreadsTracker;
00031 class PlaylistEditorDialog;
00032
00033 class PlaylistModifierBase : public QThread
00034 {
00035 Q_OBJECT
00036 public:
00037 PlaylistModifierBase(PlaylistChildThreadsTracker* parent, PlaylistEditorDialog* playlist);
00038 virtual ~PlaylistModifierBase();
00039 int iType;
00040
00041 enum
00042 {
00043 typePlaylistFolderAdder = 1,
00044 typePlaylistFileAdder,
00045 typePlaylistFileRemover,
00046 typePlaylistDaySpecificFileAdder
00047 }PlaylistModifierTypes;
00048 protected:
00049 virtual void run() = 0;
00050 protected:
00051 PlaylistChildThreadsTracker* iParent;
00052 PlaylistEditorDialog* iPlaylist;
00053 QMutex iReturnImmediately;
00054 public slots:
00055 void StopThread();
00056 signals:
00057 void Append(const QString &fileName, const QString &FullPath);
00058 };
00059 #endif