From e3b55067eb51ee82e72b41a1919406d768e00b89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 24 Aug 2013 03:09:46 +0200 Subject: Legacy jar reassembly, base of proper custom jar support --- depends/util/include/pathutils.h | 12 +++++++++++- depends/util/src/pathutils.cpp | 23 +++++++++++++++++++---- 2 files changed, 30 insertions(+), 5 deletions(-) (limited to 'depends/util') 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 #include #include +#include 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); } -- cgit v1.2.3