mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +08:00
Ref T660, utility functions
This commit is contained in:
committed by
Mat Sutcliffe
parent
b71fb71fdc
commit
878a207f85
@@ -434,6 +434,23 @@ namespace BlackMisc
|
|||||||
return dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
|
return dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CDirectoryUtils::containsFileInDir(const QString &dir, const QString &filter, bool recursively)
|
||||||
|
{
|
||||||
|
QDir directory(dir);
|
||||||
|
if (!directory.exists()) { return false; }
|
||||||
|
|
||||||
|
const QStringList nameFilter({ filter });
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
if (CDirectoryUtils::containsFileInDir(subDir, filter, recursively)) { return true; }
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
QStringList CDirectoryUtils::verifyRuntimeDirectoriesAndFiles()
|
QStringList CDirectoryUtils::verifyRuntimeDirectoriesAndFiles()
|
||||||
{
|
{
|
||||||
QStringList failed;
|
QStringList failed;
|
||||||
|
|||||||
@@ -157,6 +157,9 @@ namespace BlackMisc
|
|||||||
//! All sub directories of given dir
|
//! All sub directories of given dir
|
||||||
static QStringList getSubDirectories(const QString &rootDir);
|
static QStringList getSubDirectories(const QString &rootDir);
|
||||||
|
|
||||||
|
//! Any file with filter like "*.txt"
|
||||||
|
static bool containsFileInDir(const QString &dir, const QString &filter, bool recursively);
|
||||||
|
|
||||||
//! Check if the (most important) runtime directories are available
|
//! Check if the (most important) runtime directories are available
|
||||||
static QStringList verifyRuntimeDirectoriesAndFiles();
|
static QStringList verifyRuntimeDirectoriesAndFiles();
|
||||||
|
|
||||||
|
|||||||
@@ -454,6 +454,16 @@ namespace BlackMisc
|
|||||||
return candidate;
|
return candidate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool containsAny(const QString &testString, const QStringList &any, Qt::CaseSensitivity cs)
|
||||||
|
{
|
||||||
|
if (testString.isEmpty() || any.isEmpty()) { return false; }
|
||||||
|
for (const QString &a : any)
|
||||||
|
{
|
||||||
|
if (testString.contains(a, cs)) { return true; }
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
} // ns
|
} // ns
|
||||||
|
|
||||||
//! \endcond
|
//! \endcond
|
||||||
|
|||||||
@@ -295,6 +295,9 @@ namespace BlackMisc
|
|||||||
//! Default string if string is empty
|
//! Default string if string is empty
|
||||||
BLACKMISC_EXPORT const QString &defaultIfEmpty(const QString &candidate, const QString &defaultIfEmpty);
|
BLACKMISC_EXPORT const QString &defaultIfEmpty(const QString &candidate, const QString &defaultIfEmpty);
|
||||||
|
|
||||||
|
//! Contains any string of the list?
|
||||||
|
BLACKMISC_EXPORT bool containsAny(const QString &testString, const QStringList &any, Qt::CaseSensitivity cs);
|
||||||
|
|
||||||
namespace Mixin
|
namespace Mixin
|
||||||
{
|
{
|
||||||
/*!
|
/*!
|
||||||
|
|||||||
Reference in New Issue
Block a user