fileitemaction: use ::rename() instead of QFile::rename()
QFile::rename() silently falls back to copy+delete. POSIX rename(2) is always atomic on the same filesystem.
This commit is contained in:
parent
a679132b10
commit
d21cab5362
|
|
@ -12,6 +12,7 @@
|
|||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <cstdio>
|
||||
#include <QFormLayout>
|
||||
#include <QLineEdit>
|
||||
#include <QScreen>
|
||||
|
|
@ -130,8 +131,8 @@ void DenoteFileItemAction::renameWithDenote(const KFileItemList &items, QWidget
|
|||
const QString newName = Denote::buildFilename(title, tags, signature, ext);
|
||||
const QString newPath = fi.dir().filePath(newName);
|
||||
|
||||
// Rename
|
||||
QFile::rename(path, newPath);
|
||||
// Rename (use ::rename for atomic, no-copy behavior)
|
||||
::rename(path.toLocal8Bit().constData(), newPath.toLocal8Bit().constData());
|
||||
|
||||
// Update frontmatter if supported
|
||||
if (fileType != Denote::FileType::Unknown) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue