aboutsummaryrefslogtreecommitdiff
path: root/launcher/FileSystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/FileSystem.cpp')
-rw-r--r--launcher/FileSystem.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/launcher/FileSystem.cpp b/launcher/FileSystem.cpp
index 4026d6c1..4285fa87 100644
--- a/launcher/FileSystem.cpp
+++ b/launcher/FileSystem.cpp
@@ -163,6 +163,28 @@ bool ensureFolderPathExists(QString foldernamepath)
return success;
}
+bool copyFile(QString &src, QString &dst) {
+ using copy_opts = fs::copy_options;
+
+ std::error_code err;
+
+ fs::copy_options opt = copy_opts::none;
+ // The default behavior is to follow symlinks
+ opt |= copy_opts::copy_symlinks;
+
+ ensureFilePathExists(dst);
+
+ fs::copy(toStdString(src), toStdString(dst), opt, err);
+ if (err) {
+ qWarning() << "Failed to copy files:" << QString::fromStdString(err.message());
+ qDebug() << "Source file:" << src;
+ qDebug() << "Destination file:" << dst;
+ }
+
+ return err.value() == 0;
+
+}
+
bool copy::operator()(const QString& offset)
{
using copy_opts = fs::copy_options;