summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Darmochwal2010-10-06 18:43:14 +0200
committerJan Darmochwal2010-10-06 18:43:14 +0200
commit214caebbaba6a27b2cc848afe258ec7d14c167ce (patch)
treeee9e6e3b0dbc3b51abe3d2198fcbdb796893fb2b /src
parentXSession init from single .desktop-file (diff)
downloadvmchooser-214caebbaba6a27b2cc848afe258ec7d14c167ce.tar.gz
vmchooser-214caebbaba6a27b2cc848afe258ec7d14c167ce.tar.xz
vmchooser-214caebbaba6a27b2cc848afe258ec7d14c167ce.zip
recursive globbing in VSession::readXmlDir()
VSession::readXmlDir() now reads .xml files in subdirectories as well
Diffstat (limited to 'src')
-rw-r--r--src/vsession.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/vsession.cpp b/src/vsession.cpp
index bd86610..249594a 100644
--- a/src/vsession.cpp
+++ b/src/vsession.cpp
@@ -277,12 +277,16 @@ QList<Session*> VSession::readXmlDir(const QString& path) {
myFilterScript.close();
} else {
- // iterate over all .xml files in directory path and read them
- foreach (QFileInfo fi, QDir(path).entryInfoList(QStringList("*.xml"))) {
- retval.append(readXmlFile(fi.absoluteFilePath()));
+ // iterate over all .xml files in directory <path> (and sub-directories)
+ // and read them
+ QDirIterator di(path,
+ QDirIterator::Subdirectories |
+ QDirIterator::FollowSymlinks);
+ while(di.hasNext()) {
+ if (!di.next().endsWith(".xml")) continue;
+ retval.append(readXmlFile(di.fileInfo().absoluteFilePath()));
}
}
-
return retval;
}