1 | /* |
---|---|
2 | This file is part of the KContacts framework. |
3 | SPDX-FileCopyrightText: 2015-2019 Laurent Montel <montel@kde.org> |
4 | |
5 | SPDX-License-Identifier: LGPL-2.0-or-later |
6 | */ |
7 | |
8 | #include "gender.h" |
9 | #include "parametermap_p.h" |
10 | |
11 | using namespace KContacts; |
12 | |
13 | class Q_DECL_HIDDEN Gender::Private : public QSharedData |
14 | { |
15 | public: |
16 | Private() |
17 | { |
18 | } |
19 | |
20 | Private(const Private &other) |
21 | : QSharedData(other) |
22 | { |
23 | comment = other.comment; |
24 | gender = other.gender; |
25 | } |
26 | |
27 | QString gender; |
28 | QString comment; |
29 | }; |
30 | |
31 | Gender::Gender() |
32 | : d(new Private) |
33 | { |
34 | } |
35 | |
36 | Gender::Gender(const QString &gender) |
37 | : d(new Private) |
38 | { |
39 | d->gender = gender; |
40 | } |
41 | |
42 | Gender::Gender(const Gender &other) |
43 | : d(other.d) |
44 | { |
45 | } |
46 | |
47 | Gender::~Gender() |
48 | { |
49 | } |
50 | |
51 | bool Gender::operator==(const Gender &other) const |
52 | { |
53 | return (d->comment == other.comment()) && (d->gender == other.gender()); |
54 | } |
55 | |
56 | bool Gender::operator!=(const Gender &other) const |
57 | { |
58 | return !(other == *this); |
59 | } |
60 | |
61 | Gender &Gender::operator=(const Gender &other) |
62 | { |
63 | if (this != &other) { |
64 | d = other.d; |
65 | } |
66 | |
67 | return *this; |
68 | } |
69 | |
70 | QString Gender::toString() const |
71 | { |
72 | QString str = QLatin1String("Gender {\n"); |
73 | str += QStringLiteral(" gender: %1\n").arg(a: d->gender); |
74 | str += QStringLiteral(" comment: %1\n").arg(a: d->comment); |
75 | str += QLatin1String("}\n"); |
76 | return str; |
77 | } |
78 | |
79 | void Gender::setGender(const QString &gender) |
80 | { |
81 | d->gender = gender; |
82 | } |
83 | |
84 | QString Gender::gender() const |
85 | { |
86 | return d->gender; |
87 | } |
88 | |
89 | void Gender::setComment(const QString &comment) |
90 | { |
91 | d->comment = comment; |
92 | } |
93 | |
94 | QString Gender::comment() const |
95 | { |
96 | return d->comment; |
97 | } |
98 | |
99 | bool Gender::isValid() const |
100 | { |
101 | return !d->gender.isEmpty() || !d->comment.isEmpty(); |
102 | } |
103 | |
104 | QDataStream &KContacts::operator<<(QDataStream &s, const Gender &gender) |
105 | { |
106 | return s << gender.d->comment << gender.d->gender; |
107 | } |
108 | |
109 | QDataStream &KContacts::operator>>(QDataStream &s, Gender &gender) |
110 | { |
111 | s >> gender.d->comment >> gender.d->gender; |
112 | return s; |
113 | } |
114 |