diff options
author | David Faure <faure+bluesystems@kde.org> | 2013-01-14 09:34:08 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-14 23:44:15 +0100 |
commit | 7e7b65c370207fa849ac0ec69fe9209f08d8f2e3 (patch) | |
tree | c3e45fa2fcfe34eb5eefdfe6a70aa32eeaa27851 /src/corelib/io/qtemporaryfile.cpp | |
parent | 18c916517f3004d34482c20ed66bf09ec274d385 (diff) |
Add renameOverwrite() to QAbstractFileEngine.
QFSFileEngine::rename() on Windows doesn't overwrite the existing destination.
Keep that unchanged (it's the desired behavior in QFile::rename), and
provide cross-platform rename-overwrite behavior in the new method.
This is needed by QSaveFile.
Change-Id: I5e753d289d8a53692530a48a1783d62e26169cdc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io/qtemporaryfile.cpp')
-rw-r--r-- | src/corelib/io/qtemporaryfile.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp index a647d21f40..161c64a73b 100644 --- a/src/corelib/io/qtemporaryfile.cpp +++ b/src/corelib/io/qtemporaryfile.cpp @@ -242,6 +242,7 @@ public: bool open(QIODevice::OpenMode flags); bool remove(); bool rename(const QString &newName); + bool renameOverwrite(const QString &newName); bool close(); bool filePathIsTemplate; @@ -398,6 +399,12 @@ bool QTemporaryFileEngine::rename(const QString &newName) return QFSFileEngine::rename(newName); } +bool QTemporaryFileEngine::renameOverwrite(const QString &newName) +{ + QFSFileEngine::close(); + return QFSFileEngine::renameOverwrite(newName); +} + bool QTemporaryFileEngine::close() { // Don't close the file, just seek to the front. |