diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-08-24 03:09:46 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-08-24 03:09:46 +0200 |
commit | e3b55067eb51ee82e72b41a1919406d768e00b89 (patch) | |
tree | a22158bc63242191463d450d1a3f37eeb37bba5b /depends/util | |
parent | b78123166627139777fbd206866ee0d1c8bcd040 (diff) | |
download | MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.tar MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.tar.gz MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.tar.lz MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.tar.xz MultiMC-e3b55067eb51ee82e72b41a1919406d768e00b89.zip |
Legacy jar reassembly, base of proper custom jar support
Diffstat (limited to 'depends/util')
-rw-r--r-- | depends/util/include/pathutils.h | 12 | ||||
-rw-r--r-- | depends/util/src/pathutils.cpp | 23 |
2 files changed, 30 insertions, 5 deletions
diff --git a/depends/util/include/pathutils.h b/depends/util/include/pathutils.h index 40bb9e74..cea3a39a 100644 --- a/depends/util/include/pathutils.h +++ b/depends/util/include/pathutils.h @@ -29,7 +29,17 @@ LIBUTIL_EXPORT QString RemoveInvalidFilenameChars(QString string, QChar replaceW LIBUTIL_EXPORT QString DirNameFromString(QString string, QString inDir = "."); -LIBUTIL_EXPORT bool ensurePathExists(QString filenamepath); +/** + * Creates all the folders in a path for the specified path + * last segment of the path is treated as a file name and is ignored! + */ +LIBUTIL_EXPORT bool ensureFilePathExists(QString filenamepath); + +/** + * Creates all the folders in a path for the specified path + * last segment of the path is treated as a folder name and is created! + */ +LIBUTIL_EXPORT bool ensureFolderPathExists(QString filenamepath); LIBUTIL_EXPORT bool copyPath(QString src, QString dst); diff --git a/depends/util/src/pathutils.cpp b/depends/util/src/pathutils.cpp index 5bafdf0f..0836567d 100644 --- a/depends/util/src/pathutils.cpp +++ b/depends/util/src/pathutils.cpp @@ -19,6 +19,7 @@ #include <QDir> #include <QDesktopServices> #include <QUrl> +#include <QDebug> QString PathCombine(QString path1, QString path2) { @@ -68,24 +69,38 @@ QString DirNameFromString(QString string, QString inDir) return dirName; } -bool ensurePathExists(QString filenamepath) +bool ensureFilePathExists(QString filenamepath) { QFileInfo a ( filenamepath ); QDir dir; - return (dir.mkpath ( a.filePath() )); + QString ensuredPath = a.path(); + bool success = dir.mkpath ( ensuredPath ); + qDebug() << "ensureFilePathExists:" << success << ensuredPath << filenamepath; + return success; } +bool ensureFolderPathExists(QString foldernamepath) +{ + QFileInfo a ( foldernamepath ); + QDir dir; + QString ensuredPath = a.filePath(); + bool success = dir.mkpath ( ensuredPath ); + qDebug() << "ensureFolderPathExists:" << success << ensuredPath << foldernamepath; + return success; +} + + bool copyPath(QString src, QString dst) { QDir dir(src); if (!dir.exists()) return false; - if(!ensurePathExists(dst)) + if(!ensureFolderPathExists(dst)) return false; foreach (QString d, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) { - QString inner_src = src+ QDir::separator() + d; + QString inner_src = src + QDir::separator() + d; QString inner_dst = dst + QDir::separator() + d; copyPath(inner_src, inner_dst); } |