diff --git a/src/common/filesystembase.cpp b/src/common/filesystembase.cpp index c6dcb49d1c9d0..fafd0eeba61be 100644 --- a/src/common/filesystembase.cpp +++ b/src/common/filesystembase.cpp @@ -26,7 +26,6 @@ #include #include -#include #include #include @@ -541,34 +540,19 @@ bool FileSystem::remove(const QString &fileName, QString *errorString) // allow that. setFileReadOnly(fileName, false); #endif - - try { - if (!std::filesystem::remove(std::filesystem::path{fileName.toStdWString()})) { - if (errorString) { - *errorString = QObject::tr("File is already deleted"); - } - qCWarning(lcFileSystem()) << "File is already deleted" << fileName; - return false; - } - qCInfo(lcFileSystem()) << "delete" << fileName; - } - catch (const std::filesystem::filesystem_error &e) - { - if (errorString) { - *errorString = QString::fromLatin1(e.what()); - } - qCWarning(lcFileSystem()) << e.what() << fileName; - return false; + const auto deletedFileInfo = QFileInfo{fileName}; + if (!deletedFileInfo.exists()) { + qCWarning(lcFileSystem()) << fileName << "has been already deleted"; } - catch (...) - { + + QFile f(fileName); + if (!f.remove()) { if (errorString) { - *errorString = QObject::tr("Error deleting the file"); + *errorString = f.errorString(); } - qCWarning(lcFileSystem()) << "Error deleting the file" << fileName; + qCWarning(lcFileSystem()) << f.errorString() << fileName; return false; } - return true; } diff --git a/src/libsync/filesystem.cpp b/src/libsync/filesystem.cpp index 55d4c3c8b6b8c..3150819a33a3e 100644 --- a/src/libsync/filesystem.cpp +++ b/src/libsync/filesystem.cpp @@ -305,7 +305,25 @@ bool FileSystem::removeRecursively(const QString &path, const std::function