Utils: improve failed file saving behavior

Remove temporary files left after fail.
Set error string for locked file.

Task-number: QTCREATORBUG-15449
Change-Id: Ibc8b01a4ea47870c29493a69718db929070ac13f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-06-29 15:16:26 +02:00
parent 1607a34a9a
commit 07c3a37054
2 changed files with 18 additions and 4 deletions

View File

@@ -437,8 +437,13 @@ bool FileSaverBase::write(const QByteArray &bytes)
bool FileSaverBase::setResult(bool ok)
{
if (!ok && !m_hasError) {
m_errorString = tr("Cannot write file %1. Disk full?").arg(
QDir::toNativeSeparators(m_fileName));
if (!m_file->errorString().isEmpty()) {
m_errorString = tr("Cannot write file %1: %2").arg(
QDir::toNativeSeparators(m_fileName), m_file->errorString());
} else {
m_errorString = tr("Cannot write file %1. Disk full?").arg(
QDir::toNativeSeparators(m_fileName));
}
m_hasError = true;
}
return ok;