File indexing completed on 2024-05-12 16:25:39

0001 /*
0002    SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "downloadappslanguagesinfo.h"
0008 
0009 #include <QVariant>
0010 
0011 DownloadAppsLanguagesInfo::DownloadAppsLanguagesInfo() = default;
0012 
0013 bool DownloadAppsLanguagesInfo::parse(const QJsonObject &language, const QString &id)
0014 {
0015     const QJsonObject languagesObj = language[QLatin1String("languages")].toObject();
0016     if (languagesObj.isEmpty()) {
0017         return false;
0018     }
0019     const QStringList keys = languagesObj.keys();
0020     for (const QString &lang : keys) {
0021         const QVariantMap map = languagesObj.value(lang).toObject().toVariantMap();
0022         QMap<QString, QVariant>::const_iterator i = map.constBegin();
0023         QMap<QString, QString> translatedMap;
0024         while (i != map.constEnd()) {
0025             translatedMap.insert(QStringLiteral("apps-%1-%2").arg(id, i.key()), i.value().toString());
0026             ++i;
0027         }
0028         mLanguageMap.insert(lang, translatedMap);
0029     }
0030     return true;
0031 }
0032 
0033 QMap<QString, QMap<QString, QString>> DownloadAppsLanguagesInfo::languageMap() const
0034 {
0035     return mLanguageMap;
0036 }
0037 
0038 bool DownloadAppsLanguagesInfo::isEmpty() const
0039 {
0040     return mLanguageMap.isEmpty();
0041 }