#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
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
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
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