From 8dc51895e38eec26763ea8b964c23fbe2a348ffe Mon Sep 17 00:00:00 2001 From: Tannin Date: Fri, 18 Dec 2015 20:20:06 +0100 Subject: improved file overwriting in transfersaves dialog --- src/transfersavesdialog.cpp | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/transfersavesdialog.cpp b/src/transfersavesdialog.cpp index 494834b3..f6ca27cd 100644 --- a/src/transfersavesdialog.cpp +++ b/src/transfersavesdialog.cpp @@ -166,7 +166,7 @@ void TransferSavesDialog::on_moveToLocalBtn_clicked() iter != m_GlobalSaves.end(); ++iter) { if ((*iter)->pcName() == selectedCharacter) { QStringList files = (*iter)->saveFiles(); - foreach (const QString &file, files) { + for (const QString &file : files) { QFileInfo fileInfo(file); QString destinationFile = destination + "/" + fileInfo.fileName(); if (QFile::exists(destinationFile)) { @@ -203,22 +203,12 @@ void TransferSavesDialog::on_copyToLocalBtn_clicked() iter != m_GlobalSaves.end(); ++iter) { if ((*iter)->pcName() == selectedCharacter) { QStringList files = (*iter)->saveFiles(); - foreach (const QString &file, files) { + QStringList destinations; + for (const QString &file : files) { QFileInfo fileInfo(file); - QString destinationFile = destination + "/" + fileInfo.fileName(); - if (QFile::exists(destinationFile)) { - if (testOverwrite(overwriteMode, destinationFile)) { - QFile::remove(destinationFile); - } else { - continue; - } - } - if (!QFile::copy(fileInfo.absoluteFilePath(), destinationFile)) { - qCritical("failed to copy %s to %s", - fileInfo.absoluteFilePath().toUtf8().constData(), - destinationFile.toUtf8().constData()); - } + destinations.append(destination + "/" + fileInfo.fileName()); } + shellCopy(files, destinations, this); } } } @@ -240,7 +230,7 @@ void TransferSavesDialog::on_moveToGlobalBtn_clicked() iter != m_LocalSaves.end(); ++iter) { if ((*iter)->pcName() == selectedCharacter) { QStringList files = (*iter)->saveFiles(); - foreach (const QString &file, files) { + for (const QString &file : files) { QFileInfo fileInfo(file); QString destinationFile = destination.filePath(fileInfo.fileName()); if (QFile::exists(destinationFile)) { @@ -279,7 +269,7 @@ void TransferSavesDialog::on_copyToGlobalBtn_clicked() iter != m_LocalSaves.end(); ++iter) { if ((*iter)->pcName() == selectedCharacter) { QStringList files = (*iter)->saveFiles(); - foreach (const QString &file, files) { + for (const QString &file : files) { QFileInfo fileInfo(file); QString destinationFile = destination.filePath(fileInfo.fileName()); if (QFile::exists(destinationFile)) { -- cgit v1.3.1