Warning, file /plasma/drkonqi/src/bugzillaintegration/libbugzilla/models/bugfield.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2019 Harald Sitter <sitter@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #include "bugfield.h" 0008 0009 namespace Bugzilla 0010 { 0011 BugField::BugField(const QVariantHash &obj, QObject *parent) 0012 : QObject(parent) 0013 { 0014 registerVariantConverters(); 0015 0016 for (auto it = obj.constBegin(); it != obj.constEnd(); ++it) { 0017 setProperty(qPrintable(it.key()), it.value()); 0018 } 0019 } 0020 0021 QList<BugFieldValue *> BugField::values() const 0022 { 0023 return m_values; 0024 } 0025 0026 void BugField::registerVariantConverters() 0027 { 0028 static bool convertersRegistered = false; 0029 if (convertersRegistered) { 0030 return; 0031 } 0032 convertersRegistered = true; 0033 0034 QMetaType::registerConverter<QVariantList, QList<BugFieldValue *>>([](QVariantList v) -> QList<BugFieldValue *> { 0035 QList<BugFieldValue *> list; 0036 list.reserve(v.size()); 0037 for (const QVariant &variant : qAsConst(v)) { 0038 list.append(new BugFieldValue(variant.toHash())); 0039 } 0040 return list; 0041 }); 0042 } 0043 0044 BugFieldValue::BugFieldValue(const QVariantHash &obj, QObject *parent) 0045 : QObject(parent) 0046 { 0047 for (auto it = obj.constBegin(); it != obj.constEnd(); ++it) { 0048 setProperty(qPrintable(it.key()), it.value()); 0049 } 0050 } 0051 0052 QString BugFieldValue::name() const 0053 { 0054 return m_name; 0055 } 0056 0057 } // namespace Bugzilla