D29128: Search for exercises in XDG_DATA_DIRS for macos
Tomaz Canabrava
noreply at phabricator.kde.org
Sat Apr 25 17:52:23 BST 2020
tcanabrava added a comment.
QList<QString> populateDirs() {
QList<QString> jsonDirs;
const QString xdgDataDirsEnv = QFile::decodeName(qgetenv("XDG_DATA_DIRS"));
if (xdgDataDirsEnv.isEmpty()) {
return;
}
const auto parts = xdgDataDirsEnv.splitRef(QLatin1Char(':'), QString::SkipEmptyParts);
// Normalize paths, skip relative paths
for (const QStringRef &dir : parts) {
if (dir.startsWith(QLatin1Char('/'))) {
const QDir testDir(QDir(dir.toString()).absoluteFilePath(QStringLiteral("minuet/") + directoryName));
if (testDir.exists()) {
jsonDirs << testDir.absolutePath();
}
}
}
return jsonDirs;
}
#ifdef Q_OS_MACOS
// Qt does not check XDG_DATA_DIRS for MACOS but KDE prefix.sh script sets it.
// If AppDataLocation fail, we should give a shot and check XDG env variable
if (jsonDirs.isEmpty()) {
jsonDirs << populateDirs();
}
#endif
?
REPOSITORY
R163 Minuet
REVISION DETAIL
https://phabricator.kde.org/D29128
To: patrickelectric, sandroandrade
Cc: tcanabrava, kde-edu, cedricbonhomme, narvaez, sandroandrade, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20200425/c4cef070/attachment.html>
More information about the kde-edu
mailing list