Use QSaveFile wherever applicable

expected.hpp was fetched from:
b803e3c07b/include/nonstd/expected.hpp
This commit is contained in:
Chocobo1 2021-09-05 12:29:32 +08:00
parent 81139c0098
commit 21f72baae2
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
17 changed files with 2597 additions and 88 deletions

View file

@ -30,7 +30,8 @@
#include <QDebug>
#include <QMetaObject>
#include <QSaveFile>
#include "base/utils/io.h"
AsyncFileStorage::AsyncFileStorage(const QString &storageFolderPath, QObject *parent)
: QObject(parent)
@ -69,10 +70,10 @@ void AsyncFileStorage::store_impl(const QString &fileName, const QByteArray &dat
const QString filePath = m_storageDir.absoluteFilePath(fileName);
qDebug() << "AsyncFileStorage: Saving data to" << filePath;
QSaveFile file(filePath);
if (!file.open(QIODevice::WriteOnly) || (file.write(data) != data.length()) || !file.commit())
const nonstd::expected<void, QString> result = Utils::IO::saveToFile(filePath, data);
if (!result)
{
qDebug() << "AsyncFileStorage: Failed to save data";
emit failed(filePath, file.errorString());
emit failed(filePath, result.error());
}
}