#ifndef FILECOPIER_H #define FILECOPIER_H #include #include #include class FileCopier : public QThread { Q_OBJECT public: FileCopier(QObject *parent = 0); void addJob(const QString &source, const QString &dest); virtual void run(); void cancel(); signals: void message(const QString &msg); private: QHash mJobs; QMutex mAddJobMutex; QMutex mCancelMutex; QMutex mCountMutex; bool mCancel; int mTotal; int mCopied; }; #endif // FILECOPIER_H