File indexing completed on 2024-04-28 05:02:33

0001 /*
0002     SPDX-FileCopyrightText: 2024 Ralf Habacker  ralf.habacker @freenet.de
0003 
0004     This file is part of libalkimia.
0005 
0006     SPDX-License-Identifier: LGPL-2.1-or-later
0007 */
0008 
0009 #include "alkutils.h"
0010 
0011 #if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
0012 #include <QDir>
0013 #include <QStandardPaths>
0014 
0015 QStringList AlkUtils::getDataFiles(const QString &path, const QStringList &extensions)
0016 {
0017     QStringList resources;
0018     const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, path, QStandardPaths::LocateDirectory);
0019     Q_FOREACH (const QString& dir, dirs) {
0020         const QStringList fileNames = QDir(dir).entryList(extensions);
0021         Q_FOREACH (const QString& file, fileNames) {
0022             resources.append(dir + '/' + file);
0023         }
0024     }
0025     return resources;
0026 }
0027 
0028 QString AlkUtils::locateDataFile(const QString &filePath)
0029 {
0030 
0031     return QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("alkimia%1/%2").arg(TARGET_SUFFIX, filePath));
0032 }
0033 
0034 #else
0035 #include <KGlobal>
0036 #include <KStandardDirs>
0037 
0038 QStringList AlkUtils::getDataFiles(const QString &path, const QStringList &extensions)
0039 {
0040     const QString filename = QString("%1/%2").arg(path, extensions.at(0));
0041     const QStringList resources = KStandardDirs().findAllResources("data", filename);
0042     return resources;
0043 }
0044 
0045 QString AlkUtils::locateDataFile(const QString &filePath)
0046 {
0047     return KGlobal::dirs()->findResource("appdata", filePath);
0048 }
0049 #endif