2 #include "overwritedialog.h"
\r
3 #include "ui_overwritedialog.h"
\r
6 #include <QMessageBox>
\r
10 OverWriteDialog::OverWriteDialog(QWidget *parent) :
\r
12 ui(new Ui::OverWriteDialog),
\r
17 QHeaderView *header = ui->tableWidget->horizontalHeader();
\r
18 header->setSectionResizeMode(QHeaderView::ResizeToContents);
\r
19 header->setSectionResizeMode(0, QHeaderView::Stretch);
\r
21 connect(ui->rbAppendNumber, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
22 connect(ui->rbOverWrite, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
23 connect(ui->rbOverWriteIfNew, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
24 connect(ui->rbRename, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
25 connect(ui->rbSkip, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
28 OverWriteDialog::~OverWriteDialog()
\r
33 void OverWriteDialog::reset()
\r
36 QString method = settings.value(IniKey_DefaultOnCopy).toString();
\r
37 QRadioButton *radio = findChild<QRadioButton*>(method);
\r
38 if (radio == NULL) {
\r
39 radio = ui->rbOverWriteIfNew;
\r
41 radio->setChecked(true);
\r
42 if (radio != ui->rbRename) {
\r
43 ui->lineEdit->setEnabled(false);
\r
46 ui->keepSetting->setChecked(false);
\r
49 void OverWriteDialog::setFileInfo(const QString srcPath, const QString tgtPath)
\r
51 QFileInfo srcInfo(srcPath);
\r
52 QFileInfo tgtInfo(tgtPath);
\r
53 m_tgtPath = tgtPath;
\r
54 ui->lineEdit->setText(tgtInfo.fileName());
\r
56 QTableWidgetItem *iSrcName = new QTableWidgetItem(srcInfo.fileName());
\r
57 iSrcName->setFlags(iSrcName->flags() ^ Qt::ItemIsEditable);
\r
58 iSrcName->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter);
\r
59 ui->tableWidget->setItem(0, 0, iSrcName);
\r
61 QTableWidgetItem *iTgtName = new QTableWidgetItem(tgtInfo.fileName());
\r
62 iTgtName->setFlags(iTgtName->flags() ^ Qt::ItemIsEditable);
\r
63 iTgtName->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter);
\r
64 ui->tableWidget->setItem(1, 0, iTgtName);
\r
66 QTableWidgetItem *iSrcSize = new QTableWidgetItem(tr("%1 Bytes").arg(srcInfo.size()));
\r
67 iSrcSize->setFlags(iSrcSize->flags() ^ Qt::ItemIsEditable);
\r
68 iSrcSize->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
69 ui->tableWidget->setItem(0, 1, iSrcSize);
\r
71 QTableWidgetItem *iTgtSize = new QTableWidgetItem(tr("%1 Bytes").arg(tgtInfo.size()));
\r
72 iTgtSize->setFlags(iTgtSize->flags() ^ Qt::ItemIsEditable);
\r
73 iTgtSize->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
74 ui->tableWidget->setItem(1, 1, iTgtSize);
\r
76 QTableWidgetItem *iSrcDate = new QTableWidgetItem(srcInfo.lastModified().toString("yy/MM/dd hh:mm"));
\r
77 iSrcDate->setFlags(iSrcDate->flags() ^ Qt::ItemIsEditable);
\r
78 iSrcDate->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
79 ui->tableWidget->setItem(0, 2, iSrcDate);
\r
81 QTableWidgetItem *iTgtDate = new QTableWidgetItem(tgtInfo.lastModified().toString("yy/MM/dd hh:mm"));
\r
82 iTgtDate->setFlags(iTgtDate->flags() ^ Qt::ItemIsEditable);
\r
83 iTgtDate->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
84 ui->tableWidget->setItem(1, 2, iTgtDate);
\r
87 QString OverWriteDialog::copyMethod() const
\r
89 return ui->method->checkedButton()->objectName();
\r
92 bool OverWriteDialog::isKeepSetting() const
\r
94 return ui->keepSetting->isChecked();
\r
97 const QString OverWriteDialog::alias() const
\r
99 return ui->lineEdit->text();
\r
102 void OverWriteDialog::onRenameOrElse()
\r
104 if (ui->rbRename->isChecked()) {
\r
105 ui->lineEdit->setEnabled(true);
\r
108 ui->lineEdit->setEnabled(false);
\r
112 void OverWriteDialog::accept()
\r
114 if (ui->rbRename->isChecked()) {
\r
115 QString newPath = QFileInfo(m_tgtPath).absoluteDir().absoluteFilePath(ui->lineEdit->text());
\r
116 if (QFileInfo(newPath).exists()) {
\r
117 QMessageBox::critical(
\r
120 tr("すでに同名のファイルが存在しています。"));
\r
121 ui->lineEdit->setFocus();
\r