diff --git a/mainwindow.cpp b/mainwindow.cpp index 790916f..57b39ce 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -332,6 +332,7 @@ void MainWindow::copyOrMove(bool copy, const QString &dest) progress.show(); foreach(const QString &file, files) { + bool result = false; QFileInfo info(file); QFile srcFile(file); QFile dstFile(dir.absoluteFilePath(info.fileName())); @@ -340,7 +341,7 @@ void MainWindow::copyOrMove(bool copy, const QString &dest) continue; if(progress.wasCanceled()) - break; + return; #ifdef __linux__ if(copy) { @@ -350,20 +351,28 @@ void MainWindow::copyOrMove(bool copy, const QString &dest) { dstFile.remove(); dstFile.close(); - qDebug() << dstFile.fileName(); - srcFile.copy(dstFile.fileName()); + result = srcFile.copy(dstFile.fileName()); } } else { - srcFile.rename(dstFile.fileName()); + result = srcFile.rename(dstFile.fileName()); } #else if(copy) - srcFile.copy(dstFile.fileName()); + result = srcFile.copy(dstFile.fileName()); else - srcFile.rename(dstFile.fileName()); + result = srcFile.rename(dstFile.fileName()); #endif + if(!result) + { + QString c = copy ? tr("copy") : tr("move"); + QMessageBox::StandardButton button = QMessageBox::warning(this, tr("Failed to %1").arg(c), + tr("Failed to %1 from %2 to %3.").arg(c).arg(srcFile.fileName()).arg(dir.absolutePath()), + QMessageBox::Ignore | QMessageBox::Abort); + qDebug() << button; + if(button == QMessageBox::Abort)return; + } progress.setValue(i++); } m_database->clearMarkedFiles();