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