Add error message for copy/move
This commit is contained in:
+15
-6
@@ -332,6 +332,7 @@ void MainWindow::copyOrMove(bool copy, const QString &dest)
|
|||||||
progress.show();
|
progress.show();
|
||||||
foreach(const QString &file, files)
|
foreach(const QString &file, files)
|
||||||
{
|
{
|
||||||
|
bool result = false;
|
||||||
QFileInfo info(file);
|
QFileInfo info(file);
|
||||||
QFile srcFile(file);
|
QFile srcFile(file);
|
||||||
QFile dstFile(dir.absoluteFilePath(info.fileName()));
|
QFile dstFile(dir.absoluteFilePath(info.fileName()));
|
||||||
@@ -340,7 +341,7 @@ void MainWindow::copyOrMove(bool copy, const QString &dest)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(progress.wasCanceled())
|
if(progress.wasCanceled())
|
||||||
break;
|
return;
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
if(copy)
|
if(copy)
|
||||||
{
|
{
|
||||||
@@ -350,20 +351,28 @@ void MainWindow::copyOrMove(bool copy, const QString &dest)
|
|||||||
{
|
{
|
||||||
dstFile.remove();
|
dstFile.remove();
|
||||||
dstFile.close();
|
dstFile.close();
|
||||||
qDebug() << dstFile.fileName();
|
result = srcFile.copy(dstFile.fileName());
|
||||||
srcFile.copy(dstFile.fileName());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
srcFile.rename(dstFile.fileName());
|
result = srcFile.rename(dstFile.fileName());
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if(copy)
|
if(copy)
|
||||||
srcFile.copy(dstFile.fileName());
|
result = srcFile.copy(dstFile.fileName());
|
||||||
else
|
else
|
||||||
srcFile.rename(dstFile.fileName());
|
result = srcFile.rename(dstFile.fileName());
|
||||||
#endif
|
#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++);
|
progress.setValue(i++);
|
||||||
}
|
}
|
||||||
m_database->clearMarkedFiles();
|
m_database->clearMarkedFiles();
|
||||||
|
|||||||
Reference in New Issue
Block a user