mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +08:00
Ref T660, fixed and renamed to "getRelativeSubDirectories" plus sample
This commit is contained in:
committed by
Mat Sutcliffe
parent
3cb3724556
commit
ca7f11eb81
@@ -427,9 +427,9 @@ namespace BlackMisc
|
||||
return QUrl::fromPercentEncoding(directory.toUtf8());
|
||||
}
|
||||
|
||||
QStringList CDirectoryUtils::getSubDirectories(const QString &rootDir)
|
||||
QStringList CDirectoryUtils::getRelativeSubDirectories(const QString &rootDir)
|
||||
{
|
||||
QDir dir(rootDir);
|
||||
const QDir dir(rootDir);
|
||||
if (!dir.exists()) { return QStringList(); }
|
||||
return dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
|
||||
}
|
||||
@@ -443,10 +443,11 @@ namespace BlackMisc
|
||||
if (!directory.entryInfoList(nameFilter, QDir::Files | QDir::NoDot | QDir::NoDotDot).isEmpty()) { return true; }
|
||||
|
||||
if (!recursively) { return false; }
|
||||
const QStringList subDirs = CDirectoryUtils::getSubDirectories(dir);
|
||||
for (const QString &subDir : subDirs)
|
||||
const QStringList relSubDirs = CDirectoryUtils::getRelativeSubDirectories(dir);
|
||||
for (const QString &relSubDir : relSubDirs)
|
||||
{
|
||||
if (CDirectoryUtils::containsFileInDir(subDir, filter, recursively)) { return true; }
|
||||
const QString absSubDir = CFileUtils::appendFilePaths(directory.absolutePath(), relSubDir);
|
||||
if (CDirectoryUtils::containsFileInDir(absSubDir, filter, recursively)) { return true; }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -686,7 +687,7 @@ namespace BlackMisc
|
||||
|
||||
if (nestedDirs)
|
||||
{
|
||||
const QStringList relativeSubdirs = CDirectoryUtils::getSubDirectories(dirSource);
|
||||
const QStringList relativeSubdirs = CDirectoryUtils::getRelativeSubDirectories(dirSource);
|
||||
if (!relativeSubdirs.isEmpty())
|
||||
{
|
||||
for (const QString &relativeSubdir : relativeSubdirs)
|
||||
|
||||
@@ -155,7 +155,7 @@ namespace BlackMisc
|
||||
static QString decodeNormalizedDirectory(const QString &directory);
|
||||
|
||||
//! All sub directories of given dir
|
||||
static QStringList getSubDirectories(const QString &rootDir);
|
||||
static QStringList getRelativeSubDirectories(const QString &rootDir);
|
||||
|
||||
//! Any file with filter like "*.txt"
|
||||
static bool containsFileInDir(const QString &dir, const QString &filter, bool recursively);
|
||||
|
||||
Reference in New Issue
Block a user