Akonadi Contacts

contactmetadatabase.cpp
1 /*
2  This file is part of Contact Editor.
3 
4  SPDX-FileCopyrightText: 2017-2023 Laurent Montel <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.0-or-later
7 */
8 
9 #include "contactmetadatabase_p.h"
10 
11 using namespace ContactEditor;
12 
13 class ContactEditor::ContactMetaDataBasePrivate
14 {
15 public:
16  int mDisplayNameMode = -1;
17  QVariantList mCustomFieldDescriptions;
18 };
19 
20 ContactMetaDataBase::ContactMetaDataBase()
21  : d(new ContactMetaDataBasePrivate)
22 {
23 }
24 
25 ContactMetaDataBase::~ContactMetaDataBase() = default;
26 
27 void ContactMetaDataBase::loadMetaData(const QVariantMap &metaData)
28 {
29  d->mDisplayNameMode = metaData.value(QStringLiteral("DisplayNameMode"), -1).toInt();
30 
31  d->mCustomFieldDescriptions = metaData.value(QStringLiteral("CustomFieldDescriptions")).toList();
32 }
33 
34 QVariantMap ContactMetaDataBase::storeMetaData() const
35 {
36  QVariantMap metaData;
37  if (d->mDisplayNameMode != -1) {
38  metaData.insert(QStringLiteral("DisplayNameMode"), QVariant(d->mDisplayNameMode));
39  }
40 
41  if (!d->mCustomFieldDescriptions.isEmpty()) {
42  metaData.insert(QStringLiteral("CustomFieldDescriptions"), d->mCustomFieldDescriptions);
43  }
44  return metaData;
45 }
46 
47 void ContactMetaDataBase::setDisplayNameMode(int mode)
48 {
49  d->mDisplayNameMode = mode;
50 }
51 
52 int ContactMetaDataBase::displayNameMode() const
53 {
54  return d->mDisplayNameMode;
55 }
56 
57 void ContactMetaDataBase::setCustomFieldDescriptions(const QVariantList &descriptions)
58 {
59  d->mCustomFieldDescriptions = descriptions;
60 }
61 
62 QVariantList ContactMetaDataBase::customFieldDescriptions() const
63 {
64  return d->mCustomFieldDescriptions;
65 }
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sat Apr 1 2023 04:09:04 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.