diff --git a/openbr/core/qtutils.cpp b/openbr/core/qtutils.cpp index f746fee..bfe128c 100644 --- a/openbr/core/qtutils.cpp +++ b/openbr/core/qtutils.cpp @@ -38,38 +38,6 @@ using namespace br; namespace QtUtils { -QStringList getFiles(QDir dir, bool recursive) -{ - dir = QDir(dir.canonicalPath()); - - QStringList files; - foreach (const QString &file, naturalSort(dir.entryList(QDir::Files))) - files.append(dir.absoluteFilePath(file)); - - if (!recursive) return files; - - foreach (const QString &folder, naturalSort(dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot))) { - QDir subdir(dir); - bool success = subdir.cd(folder); if (!success) qFatal("cd failure."); - files.append(getFiles(subdir, true)); - } - return files; -} - -QStringList getFiles(const QString ®exp) -{ - QFileInfo fileInfo(regexp); - QDir dir(fileInfo.dir()); - QRegExp re(fileInfo.fileName()); - re.setPatternSyntax(QRegExp::Wildcard); - - QStringList files; - foreach (const QString &fileName, dir.entryList(QDir::Files)) - if (re.exactMatch(fileName)) - files.append(dir.filePath(fileName)); - return files; -} - QStringList readLines(const QString &file) { QStringList lines; diff --git a/openbr/core/qtutils.h b/openbr/core/qtutils.h index fc93059..7c9e6fc 100644 --- a/openbr/core/qtutils.h +++ b/openbr/core/qtutils.h @@ -34,8 +34,6 @@ namespace QtUtils { /**** File Utilities ****/ - QStringList getFiles(QDir dir, bool recursive); - QStringList getFiles(const QString ®exp); QStringList readLines(const QString &file); void readFile(const QString &file, QStringList &lines); void readFile(const QString &file, QByteArray &data, bool uncompress = false); diff --git a/openbr/gui/utility.cpp b/openbr/gui/utility.cpp index 013ece0..4a509ea 100644 --- a/openbr/gui/utility.cpp +++ b/openbr/gui/utility.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "utility.h" using namespace cv; @@ -45,3 +46,35 @@ QImage br::toQImage(const Mat &mat) return QImage(mat8uc3.data, mat8uc3.cols, mat8uc3.rows, 3*mat8uc3.cols, QImage::Format_RGB888).copy(); } + +QStringList br::getFiles(QDir dir, bool recursive) +{ + dir = QDir(dir.canonicalPath()); + + QStringList files; + foreach (const QString &file, QtUtils::naturalSort(dir.entryList(QDir::Files))) + files.append(dir.absoluteFilePath(file)); + + if (!recursive) return files; + + foreach (const QString &folder, QtUtils::naturalSort(dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot))) { + QDir subdir(dir); + bool success = subdir.cd(folder); if (!success) qFatal("cd failure."); + files.append(getFiles(subdir, true)); + } + return files; +} + +QStringList br::getFiles(const QString ®exp) +{ + QFileInfo fileInfo(regexp); + QDir dir(fileInfo.dir()); + QRegExp re(fileInfo.fileName()); + re.setPatternSyntax(QRegExp::Wildcard); + + QStringList files; + foreach (const QString &fileName, dir.entryList(QDir::Files)) + if (re.exactMatch(fileName)) + files.append(dir.filePath(fileName)); + return files; +} diff --git a/openbr/gui/utility.h b/openbr/gui/utility.h index da5a147..4552215 100644 --- a/openbr/gui/utility.h +++ b/openbr/gui/utility.h @@ -2,6 +2,9 @@ #define BR_UTILITY_H #include +#include +#include + #include #include @@ -9,6 +12,8 @@ namespace br { BR_EXPORT QImage toQImage(const cv::Mat &mat); +BR_EXPORT QStringList getFiles(QDir dir, bool recursive); +BR_EXPORT QStringList getFiles(const QString ®exp); } // namespace br diff --git a/openbr/plugins/gallery/empty.cpp b/openbr/plugins/gallery/empty.cpp index 888c45e..698efc4 100644 --- a/openbr/plugins/gallery/empty.cpp +++ b/openbr/plugins/gallery/empty.cpp @@ -18,6 +18,7 @@ #include #include +#include namespace br { @@ -67,7 +68,7 @@ class EmptyGallery : public Gallery templates.append(future.result()); // Add root folder - foreach (const QString &fileName, QtUtils::getFiles(file.name, false)) + foreach (const QString &fileName, getFiles(file.name, false)) templates.append(File(fileName, dir.dirName())); if (!regexp.isEmpty()) { @@ -112,7 +113,7 @@ class EmptyGallery : public Gallery static TemplateList getTemplates(const QDir &dir) { - const QStringList files = QtUtils::getFiles(dir, true); + const QStringList files = getFiles(dir, true); TemplateList templates; templates.reserve(files.size()); foreach (const QString &file, files) templates.append(File(file, dir.dirName()));