1 #include "preferences.h"
\r
2 #include "overwritedialog.h"
\r
3 #include "ui_overwritedialog.h"
\r
6 #include <QMessageBox>
\r
9 OverWriteDialog::OverWriteDialog(QWidget *parent) :
\r
11 ui(new Ui::OverWriteDialog),
\r
16 QHeaderView *header = ui->tableWidget->horizontalHeader();
\r
17 header->setSectionResizeMode(QHeaderView::ResizeToContents);
\r
18 header->setSectionResizeMode(0, QHeaderView::Stretch);
\r
20 connect(ui->rbAppendNumber, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
21 connect(ui->rbOverWrite, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
22 connect(ui->rbOverWriteIfNew, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
23 connect(ui->rbRename, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
24 connect(ui->rbSkip, SIGNAL(clicked()), this, SLOT(onRenameOrElse()));
\r
27 OverWriteDialog::~OverWriteDialog()
\r
32 void OverWriteDialog::reset()
\r
34 QString method = Preferences(this).getCopyBehavior();
\r
35 QRadioButton *radio = findChild<QRadioButton*>("rb" + method);
\r
36 if (radio == NULL) {
\r
37 radio = ui->rbOverWriteIfNew;
\r
39 radio->setChecked(true);
\r
40 if (radio != ui->rbRename) {
\r
41 ui->lineEdit->setEnabled(false);
\r
44 ui->keepSetting->setChecked(false);
\r
47 void OverWriteDialog::setFileInfo(const QString srcPath, const QString tgtPath)
\r
49 QFileInfo srcInfo(srcPath);
\r
50 QFileInfo tgtInfo(tgtPath);
\r
51 m_tgtPath = tgtPath;
\r
52 ui->lineEdit->setText(tgtInfo.fileName());
\r
54 QTableWidgetItem *iSrcName = new QTableWidgetItem(srcInfo.fileName());
\r
55 iSrcName->setFlags(iSrcName->flags() ^ Qt::ItemIsEditable);
\r
56 iSrcName->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter);
\r
57 ui->tableWidget->setItem(0, 0, iSrcName);
\r
59 QTableWidgetItem *iTgtName = new QTableWidgetItem(tgtInfo.fileName());
\r
60 iTgtName->setFlags(iTgtName->flags() ^ Qt::ItemIsEditable);
\r
61 iTgtName->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter);
\r
62 ui->tableWidget->setItem(1, 0, iTgtName);
\r
64 QTableWidgetItem *iSrcSize = new QTableWidgetItem(tr("%1 Bytes").arg(srcInfo.size()));
\r
65 iSrcSize->setFlags(iSrcSize->flags() ^ Qt::ItemIsEditable);
\r
66 iSrcSize->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
67 ui->tableWidget->setItem(0, 1, iSrcSize);
\r
69 QTableWidgetItem *iTgtSize = new QTableWidgetItem(tr("%1 Bytes").arg(tgtInfo.size()));
\r
70 iTgtSize->setFlags(iTgtSize->flags() ^ Qt::ItemIsEditable);
\r
71 iTgtSize->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
72 ui->tableWidget->setItem(1, 1, iTgtSize);
\r
74 QTableWidgetItem *iSrcDate = new QTableWidgetItem(srcInfo.lastModified().toString("yy/MM/dd hh:mm"));
\r
75 iSrcDate->setFlags(iSrcDate->flags() ^ Qt::ItemIsEditable);
\r
76 iSrcDate->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
77 ui->tableWidget->setItem(0, 2, iSrcDate);
\r
79 QTableWidgetItem *iTgtDate = new QTableWidgetItem(tgtInfo.lastModified().toString("yy/MM/dd hh:mm"));
\r
80 iTgtDate->setFlags(iTgtDate->flags() ^ Qt::ItemIsEditable);
\r
81 iTgtDate->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
\r
82 ui->tableWidget->setItem(1, 2, iTgtDate);
\r
85 QString OverWriteDialog::copyMethod() const
\r
87 return ui->method->checkedButton()->objectName();
\r
90 bool OverWriteDialog::isKeepSetting() const
\r
92 return ui->keepSetting->isChecked();
\r
95 const QString OverWriteDialog::alias() const
\r
97 return ui->lineEdit->text();
\r
100 void OverWriteDialog::onRenameOrElse()
\r
102 if (ui->rbRename->isChecked()) {
\r
103 ui->lineEdit->setEnabled(true);
\r
106 ui->lineEdit->setEnabled(false);
\r
110 void OverWriteDialog::accept()
\r
112 if (ui->rbRename->isChecked()) {
\r
113 QString newPath = QFileInfo(m_tgtPath).absoluteDir().absoluteFilePath(ui->lineEdit->text());
\r
114 if (QFileInfo(newPath).exists()) {
\r
115 QMessageBox::critical(
\r
118 tr("すでに同名のファイルが存在しています。"));
\r
119 ui->lineEdit->setFocus();
\r