OSDN Git Service

Ver0.26
[gefu/Gefu.git] / renameworker.cpp
1 #include "renameworker.h"\r
2 \r
3 #include <QFile>\r
4 #include <QFileInfo>\r
5 #include <QThread>\r
6 \r
7 const int SLEEP_TIME = 1;\r
8 \r
9 ///////////////////////////////////////////////////////////////////////////////\r
10 /// \brief RenameWorker::RenameWorker\r
11 ///\r
12 /// コンストラクタ\r
13 ///\r
14 RenameWorker::RenameWorker() :\r
15     OperationWorker(),\r
16     m_RenameMap(NULL)\r
17 {\r
18 }\r
19 \r
20 ///////////////////////////////////////////////////////////////////////////////\r
21 /// \brief RenameWorker::run\r
22 ///\r
23 /// リネーム処理を行います。\r
24 ///\r
25 void RenameWorker::run()\r
26 {\r
27     StringMap::const_iterator it;\r
28     bool ret;\r
29     int successCount = 0;\r
30     int errorCount = 0;\r
31     QString msg;\r
32     for (it = m_RenameMap->begin(); it != m_RenameMap->end(); it++) {\r
33         this->thread()->msleep(SLEEP_TIME);\r
34         if (isAborted()) {\r
35             emit finished(true);\r
36             return;\r
37         }\r
38 \r
39         emit progress(tr("名前変更:%1 -> %2")\r
40                       .arg(QFileInfo(it.key()).fileName())\r
41                       .arg(QFileInfo(it.value()).fileName()));\r
42         ret = QFile::rename(it.key(), it.value());\r
43         if (ret) {\r
44             successCount++;\r
45             emit success(tr("成功"));\r
46         }\r
47         else {\r
48             errorCount++;\r
49             emit error(tr("失敗"));\r
50         }\r
51         msg = tr("%1アイテム成功。").arg(successCount);\r
52         if (errorCount > 0) {\r
53             msg += tr("%1アイテム失敗。").arg(errorCount);\r
54         }\r
55         emit information(msg);\r
56     }\r
57 \r
58     emit finished();\r
59 }\r
60 \r
61 ///////////////////////////////////////////////////////////////////////////////\r
62 /// \brief RenameWorker::initialText\r
63 /// \return 初期表示テキストを返します。\r
64 ///\r
65 QString RenameWorker::initialText() const\r
66 {\r
67     return tr("名前を変更しています...");\r
68 }\r