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

@ -31,7 +31,6 @@
#include <QDateTime>
#include <QDir>
#include <QFile>
#include <QHostAddress>
#include <QLocale>
@ -40,6 +39,7 @@
#include "base/profile.h"
#include "base/utils/fs.h"
#include "base/utils/gzip.h"
#include "base/utils/io.h"
#include "downloadmanager.h"
#include "geoipdatabase.h"
@ -452,15 +452,16 @@ void GeoIPManager::downloadFinished(const DownloadResult &result)
if (!QDir(targetPath).exists())
QDir().mkpath(targetPath);
QFile targetFile(QString::fromLatin1("%1/%2").arg(targetPath, GEODB_FILENAME));
if (!targetFile.open(QFile::WriteOnly) || (targetFile.write(data) != data.length()))
const auto path = QString::fromLatin1("%1/%2").arg(targetPath, GEODB_FILENAME);
const nonstd::expected<void, QString> result = Utils::IO::saveToFile(path, data);
if (result)
{
LogMsg(tr("Couldn't save downloaded IP geolocation database file. Reason: %1")
.arg(targetFile.errorString()), Log::WARNING);
LogMsg(tr("Successfully updated IP geolocation database."), Log::INFO);
}
else
{
LogMsg(tr("Successfully updated IP geolocation database."), Log::INFO);
LogMsg(tr("Couldn't save downloaded IP geolocation database file. Reason: %1")
.arg(result.error()), Log::WARNING);
}
}
else