dirutils.cpp 723 B

12345678910111213141516171819202122232425262728
  1. #include "dirutils.h"
  2. #include <QDir>
  3. #include <QDirIterator>
  4. QStringList DirUtils::songsInDir(QString dir) {
  5. QStringList sl;
  6. QDirIterator itr(dir, QStringList() << "*.mp3" << "*.flac",
  7. QDir::Files, QDirIterator::Subdirectories);
  8. while (itr.hasNext()) {
  9. QFileInfo fi(itr.next());
  10. sl << fi.absoluteFilePath();
  11. }
  12. return sl;
  13. }
  14. QStringList DirUtils::songFoldersInDir(QString dir) {
  15. QStringList sl;
  16. QDirIterator itr(dir, QStringList(), QDir::Dirs | QDir::NoDotAndDotDot, QDirIterator::Subdirectories );
  17. while (itr.hasNext()) {
  18. QString path = itr.next();
  19. if (!songsInDir(path).isEmpty()) sl << path;
  20. }
  21. return sl;
  22. }