OSDN Git Service

Ver0.26
[gefu/Gefu.git] / copymoveworker.h
1 #ifndef COPYWORKER_H\r
2 #define COPYWORKER_H\r
3 \r
4 #include "operationworker.h"\r
5 #include "global.h"\r
6 \r
7 class CopyMoveWorker : public OperationWorker\r
8 {\r
9     Q_OBJECT\r
10 public:\r
11     explicit CopyMoveWorker();\r
12 \r
13     void setCopyList(const QStringList &list) {\r
14         m_CopyList = list;\r
15     }\r
16     void setTargetDir(const QString &path) {\r
17         m_tgtDir = path;\r
18     }\r
19     void setMoveMode(bool move) {\r
20         m_Move = move;\r
21     }\r
22 \r
23     void endAsking() {\r
24         QMutexLocker lock(&m_AskingMutex);\r
25         m_Asking = false;\r
26     }\r
27 \r
28 signals:\r
29     void askOverWrite(QString *copyMethod, QString *alias,\r
30                       const QString &srcPath, const QString &tgtPath);\r
31 \r
32 public slots:\r
33 \r
34 private:\r
35     QStringList m_CopyList;\r
36     QString m_tgtDir;\r
37     StringMap m_CopyMap;\r
38     QMutex m_AskingMutex;\r
39     bool m_Asking;\r
40     bool m_Move;\r
41 \r
42     bool isAsking() {\r
43         QMutexLocker lock(&m_AskingMutex);\r
44         return m_Asking;\r
45     }\r
46 \r
47     void Listup(const QString &srcPath, const QString &tgtPath);\r
48 \r
49     // AbstractWorker interface\r
50 public slots:\r
51     void run();\r
52 \r
53     // OperationWorker interface\r
54 public:\r
55     QString initialText() const;\r
56 };\r
57 \r
58 #endif // COPYWORKER_H\r