OSDN Git Service

Ver0.15
[gefu/Gefu.git] / renamemultidialog.cpp
index 3c9f212..d7f4021 100644 (file)
@@ -1,13 +1,11 @@
 #include "renamemultidialog.h"\r
 #include "ui_renamemultidialog.h"\r
-\r
 #include <QFileIconProvider>\r
 #include <QMessageBox>\r
 \r
 RenameMultiDialog::RenameMultiDialog(QWidget *parent) :\r
-    QDialog(parent),\r
-    ui(new Ui::RenameMultiDialog),\r
-    m_dir()\r
+    IRenameDialog(parent),\r
+    ui(new Ui::RenameMultiDialog)\r
 {\r
     ui->setupUi(this);\r
 \r
@@ -15,6 +13,9 @@ RenameMultiDialog::RenameMultiDialog(QWidget *parent) :
     QStringList labels;\r
     labels << tr("変更前") << tr("変更後");\r
     ui->tableWidget->setHorizontalHeaderLabels(labels);\r
+\r
+    ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);\r
+    ui->tableWidget->horizontalHeader()->setStretchLastSection(true);\r
 }\r
 \r
 RenameMultiDialog::~RenameMultiDialog()\r
@@ -22,30 +23,24 @@ RenameMultiDialog::~RenameMultiDialog()
     delete ui;\r
 }\r
 \r
-void RenameMultiDialog::setNames(const QStringList &names)\r
+void RenameMultiDialog::setNames(const QFileInfoList &names)\r
 {\r
-    foreach (const QString &name, names) {\r
+    foreach (const QFileInfo &info, names) {\r
         int row = ui->tableWidget->rowCount();\r
         ui->tableWidget->insertRow(row);\r
 \r
-        QTableWidgetItem *iBefore = new QTableWidgetItem(name);\r
+        QTableWidgetItem *iBefore = new QTableWidgetItem(info.fileName());\r
         iBefore->setFlags(iBefore->flags() ^ Qt::ItemIsEditable);\r
-        QFileInfo info(m_dir.absoluteFilePath(name));\r
         iBefore->setIcon(QFileIconProvider().icon(info));\r
         ui->tableWidget->setItem(row, 0, iBefore);\r
 \r
-        QTableWidgetItem *iAfter = new QTableWidgetItem(name);\r
+        QTableWidgetItem *iAfter = new QTableWidgetItem(info.fileName());\r
         ui->tableWidget->setItem(row, 1, iAfter);\r
     }\r
     ui->tableWidget->resizeColumnsToContents();\r
     ui->tableWidget->resizeRowsToContents();\r
 }\r
 \r
-void RenameMultiDialog::setWorkingDirectory(const QString &dir)\r
-{\r
-    m_dir.setPath(dir);\r
-}\r
-\r
 void RenameMultiDialog::on_btn_UpperAll_clicked()\r
 {\r
     for (int n = 0; n < ui->tableWidget->rowCount(); n++) {\r
@@ -164,18 +159,11 @@ void RenameMultiDialog::accept()
         QTableWidgetItem *iBefore = ui->tableWidget->item(n, 0);\r
         QTableWidgetItem *iAfter = ui->tableWidget->item(n, 1);\r
         if (iBefore->text() != iAfter->text()) {\r
-            bool ret = QFile::rename(\r
-                        m_dir.absoluteFilePath(iBefore->text()),\r
-                        m_dir.absoluteFilePath(iAfter->text()));\r
-            if (!ret) {\r
-                QMessageBox::critical(\r
-                            this,\r
-                            tr("エラー"),\r
-                            iBefore->text() + tr("のファイル名変更に失敗しました。"));\r
-            }\r
+            m_RenameMap.insert(m_dir.absoluteFilePath(iBefore->text()),\r
+                               m_dir.absoluteFilePath(iAfter->text()));\r
         }\r
     }\r
 \r
-    QDialog::accept();\r
+    IRenameDialog::accept();\r
 }\r
 \r