1 #include "overwritedialog.h"
\r
2 #include "ui_overwritedialog.h"
\r
4 #include <QMessageBox>
\r
7 OverWriteDialog::OverWriteDialog(QWidget *parent) :
\r
9 ui(new Ui::OverWriteDialog),
\r
14 ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
\r
15 ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
\r
17 connect(ui->rbAppendNumber, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
18 connect(ui->rbOverWrite, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
19 connect(ui->rbOverWriteIfNew, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
20 connect(ui->rbRename, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
21 connect(ui->rbSkip, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
25 OverWriteDialog::~OverWriteDialog()
\r
30 void OverWriteDialog::setCopyMethod(int method)
\r
33 case OverWriteDialog::OverWrite:
\r
34 ui->rbOverWrite->setChecked(true);
\r
36 case OverWriteDialog::AppendNumber:
\r
37 ui->rbAppendNumber->setChecked(true);
\r
39 case OverWriteDialog::Skip:
\r
40 ui->rbSkip->setChecked(true);
\r
42 case OverWriteDialog::Rename:
\r
43 ui->rbRename->setChecked(true);
\r
44 ui->lineEdit->setFocus();
\r
47 ui->rbOverWriteIfNew->setChecked(true);
\r
53 void OverWriteDialog::setSameMethodChecked(bool checked)
\r
55 ui->checkBox->setChecked(checked);
\r
58 void OverWriteDialog::setFileInfo(const QString srcPath, const QString tgtPath)
\r
60 QFileInfo srcInfo(srcPath);
\r
61 QFileInfo tgtInfo(tgtPath);
\r
62 m_tgtPath = tgtPath;
\r
63 ui->lineEdit->setText(tgtInfo.fileName());
\r
65 QTableWidgetItem *iSrcSize = new QTableWidgetItem(tr("%1 Bytes").arg(srcInfo.size()));
\r
66 iSrcSize->setFlags(iSrcSize->flags() ^ Qt::ItemIsEditable);
\r
67 iSrcSize->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
68 ui->tableWidget->setItem(0, 0, iSrcSize);
\r
70 QTableWidgetItem *iTgtSize = new QTableWidgetItem(tr("%1 Bytes").arg(tgtInfo.size()));
\r
71 iTgtSize->setFlags(iTgtSize->flags() ^ Qt::ItemIsEditable);
\r
72 iTgtSize->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
73 ui->tableWidget->setItem(1, 0, iTgtSize);
\r
75 QTableWidgetItem *iSrcDate = new QTableWidgetItem(srcInfo.lastModified().toString("yy/MM/dd hh:mm"));
\r
76 iSrcDate->setFlags(iSrcDate->flags() ^ Qt::ItemIsEditable);
\r
77 iSrcDate->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
78 ui->tableWidget->setItem(0, 1, iSrcDate);
\r
80 QTableWidgetItem *iTgtDate = new QTableWidgetItem(tgtInfo.lastModified().toString("yy/MM/dd hh:mm"));
\r
81 iTgtDate->setFlags(iTgtDate->flags() ^ Qt::ItemIsEditable);
\r
82 iTgtDate->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
83 ui->tableWidget->setItem(1, 1, iTgtDate);
\r
86 int OverWriteDialog::copyMethod()
\r
88 if (ui->rbAppendNumber->isChecked()) {
\r
89 return OverWriteDialog::AppendNumber;
\r
91 if (ui->rbOverWrite->isChecked()) {
\r
92 return OverWriteDialog::OverWrite;
\r
94 if (ui->rbOverWriteIfNew->isChecked()) {
\r
95 return OverWriteDialog::OverWriteIfNew;
\r
97 if (ui->rbRename->isChecked()) {
\r
98 return OverWriteDialog::Rename;
\r
100 return OverWriteDialog::Skip;
\r
103 bool OverWriteDialog::isSameMethodChecked()
\r
105 return ui->checkBox->isChecked();
\r
108 const QString OverWriteDialog::alias()
\r
110 return ui->lineEdit->text();
\r
113 void OverWriteDialog::onRenameOrElse()
\r
115 if (ui->rbRename->isChecked()) {
\r
116 ui->lineEdit->setEnabled(true);
\r
119 ui->lineEdit->setEnabled(false);
\r
123 void OverWriteDialog::accept()
\r
125 if (ui->rbRename->isChecked()) {
\r
126 QString newPath = QFileInfo(m_tgtPath).absoluteDir().absoluteFilePath(ui->lineEdit->text());
\r
127 if (QFileInfo(newPath).exists()) {
\r
128 QMessageBox::critical(
\r
131 tr("すでに同名のファイルが存在しています。"));
\r
132 ui->lineEdit->setFocus();
\r