File indexing completed on 2024-04-28 03:51:00
0001 #include <QDir> 0002 #include <QFile> 0003 0004 #include "xdgdatadirs.h" 0005 0006 using namespace Utils; 0007 0008 QStringList Utils::getXdgDataDirs() 0009 { 0010 const QString xdgDataDirsEnv = QFile::decodeName(qgetenv("XDG_DATA_DIRS")); 0011 if (xdgDataDirsEnv.isEmpty()) { 0012 return {}; 0013 } 0014 0015 QStringList results; 0016 const auto paths = xdgDataDirsEnv.split(QLatin1Char(':'), Qt::SkipEmptyParts); 0017 // Normalize paths, skip relative paths 0018 for (const auto &path : paths) { 0019 if (!QDir::isAbsolutePath(path) || !QDir(path).exists()) { 0020 continue; 0021 } 0022 results.append(path); 0023 } 0024 0025 return results; 0026 }