File indexing completed on 2024-05-12 16:16:02

0001 /*
0002    SPDX-FileCopyrightText: 2019-2023 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "languageinfo.h"
0008 
0009 #include <QJsonObject>
0010 
0011 using namespace TextGrammarCheck;
0012 
0013 LanguageInfo::LanguageInfo() = default;
0014 
0015 LanguageInfo::~LanguageInfo() = default;
0016 
0017 QString LanguageInfo::name() const
0018 {
0019     return mName;
0020 }
0021 
0022 void LanguageInfo::setName(const QString &name)
0023 {
0024     mName = name;
0025 }
0026 
0027 QString LanguageInfo::longCode() const
0028 {
0029     return mLongCode;
0030 }
0031 
0032 void LanguageInfo::setLongCode(const QString &longCode)
0033 {
0034     mLongCode = longCode;
0035 }
0036 
0037 QString LanguageInfo::code() const
0038 {
0039     return mCode;
0040 }
0041 
0042 void LanguageInfo::setCode(const QString &code)
0043 {
0044     mCode = code;
0045 }
0046 
0047 bool LanguageInfo::isValid() const
0048 {
0049     // We need code and name
0050     return !mName.isEmpty() && !mCode.isEmpty();
0051 }
0052 
0053 void LanguageInfo::parse(const QJsonObject &obj)
0054 {
0055     mName = obj[QStringLiteral("name")].toString();
0056     mCode = obj[QStringLiteral("code")].toString();
0057     mLongCode = obj[QStringLiteral("longCode")].toString();
0058 }
0059 
0060 bool LanguageInfo::operator==(const LanguageInfo &other) const
0061 {
0062     return mName == other.name() && mCode == other.code() && mLongCode == other.longCode();
0063 }