OSDN Git Service

Ver0.15
[gefu/Gefu.git] / renameworker.cpp
1 #include "renameworker.h"\r
2 #include <QFile>\r
3 #include <QFileInfo>\r
4 \r
5 RenameWorker::RenameWorker(QObject *parent) :\r
6     IWorker(parent),\r
7     m_RenameMap(NULL)\r
8 {\r
9 }\r
10 \r
11 void RenameWorker::operate()\r
12 {\r
13     m_progressText->setText(tr("名前を変更しています..."));\r
14     StringMap::const_iterator it;\r
15     bool ret;\r
16     int successCount = 0;\r
17     int errorCount = 0;\r
18     QString msg;\r
19     for (it = m_RenameMap->begin(); it != m_RenameMap->end(); it++) {\r
20         if (isStopRequested()) {\r
21             emit canceled();\r
22             return;\r
23         }\r
24 \r
25         emit operation(tr("名前変更:")\r
26                      + QFileInfo(it.key()).fileName()\r
27                      + tr(" -> ")\r
28                      + QFileInfo(it.value()).fileName());\r
29         ret = QFile::rename(it.key(), it.value());\r
30         if (ret) {\r
31             successCount++;\r
32             emit success(tr("成功"));\r
33         }\r
34         else {\r
35             errorCount++;\r
36             emit error(tr("失敗"));\r
37         }\r
38         msg = tr("%1アイテム成功。").arg(successCount);\r
39         if (errorCount > 0) {\r
40             msg += tr("%1アイテム失敗。").arg(errorCount);\r
41         }\r
42         m_progressText->setText(msg);\r
43     }\r
44 \r
45     emit finished();\r
46 }\r