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 }