1
/****************************************************************************
5
** Copyright Ā© 2011 Aleksey Sidorov <gorthauer87@yandex.ru>
7
*****************************************************************************
9
** $JREEN_BEGIN_LICENSE$
10
** This program is free software: you can redistribute it and/or modify
11
** it under the terms of the GNU General Public License as published by
12
** the Free Software Foundation, either version 2 of the License, or
13
** (at your option) any later version.
15
** This program is distributed in the hope that it will be useful,
16
** but WITHOUT ANY WARRANTY; without even the implied warranty of
17
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
** See the GNU General Public License for more details.
20
** You should have received a copy of the GNU General Public License
21
** along with this program. If not, see http://www.gnu.org/licenses/.
22
** $JREEN_END_LICENSE$
24
****************************************************************************/
30
VCard::Name::Name() : d_ptr(new VCard::NamePrivate)
34
VCard::Name::Name(const VCard::Name &o) : d_ptr(o.d_ptr)
38
VCard::Name::Name(VCard::NamePrivate &p) : d_ptr(&p)
46
VCard::Name &VCard::Name::operator =(const VCard::Name &o)
52
QString VCard::Name::family() const
57
void VCard::Name::setFamily(const QString &name)
62
QString VCard::Name::given() const
67
void VCard::Name::setGiven(const QString &name)
72
QString VCard::Name::middle() const
77
void VCard::Name::setMiddle(const QString &name)
82
QString VCard::Name::prefix() const
87
void VCard::Name::setPrefix(const QString &name)
92
QString VCard::Name::suffix() const
97
void VCard::Name::setSuffix(const QString &name)
102
VCard::Photo::Photo() : d_ptr(new PhotoPrivate)
106
VCard::Photo::Photo(const Photo &o) : d_ptr(o.d_ptr)
110
VCard::Photo::Photo(VCard::PhotoPrivate &p) : d_ptr(&p)
114
VCard::Photo::~Photo()
118
VCard::Photo &VCard::Photo::operator =(const Photo &o)
124
QString VCard::Photo::external() const
126
return d_ptr->extval;
129
void VCard::Photo::setExternal(const QString &extval)
131
d_ptr->extval = extval;
132
d_ptr->binval = QByteArray();
133
d_ptr->type = QString();
136
void VCard::Photo::setData(const QByteArray &data, const QString &mimeType)
138
d_ptr->extval = QString();
139
d_ptr->binval = data;
140
d_ptr->type = mimeType;
143
QByteArray VCard::Photo::data() const
145
return d_ptr->binval;
148
QString VCard::Photo::mimeType() const
153
VCard::Telephone::Telephone() : d_ptr(new VCard::TelephonePrivate)
157
VCard::Telephone::Telephone(const Telephone &o) : d_ptr(o.d_ptr)
161
VCard::Telephone::Telephone(VCard::TelephonePrivate &p) : d_ptr(&p)
165
VCard::Telephone::~Telephone()
169
VCard::Telephone &VCard::Telephone::operator =(const VCard::Telephone &o)
175
bool VCard::Telephone::testType(Type t) const
177
return d_ptr->types & t;
180
bool VCard::EMail::testType(Type t) const
182
return d_ptr->types & t;
185
const QString &VCard::EMail::userId() const
187
return d_ptr->userId;
190
void VCard::EMail::setType(Type t, bool value)
192
d_ptr->types ^= ((d_ptr->types & t) == t) == value ? 0 : t;
195
void VCard::EMail::setUserId(const QString &userId)
197
d_ptr->userId = userId;
200
void VCard::Telephone::setType(Type t, bool value)
202
d_ptr->types ^= ((d_ptr->types & t) == t) == value ? 0 : t;
205
QString VCard::Telephone::number() const
207
return d_ptr->number;
210
void VCard::Telephone::setNumber(const QString &number)
212
d_ptr->number = number;
215
VCard::EMail::EMail() : d_ptr(new VCard::EMailPrivate)
219
VCard::EMail::EMail(const EMail &o) : d_ptr(o.d_ptr)
223
VCard::EMail::EMail(VCard::EMailPrivate &p) : d_ptr(&p)
227
VCard::EMail::~EMail()
231
VCard::EMail &VCard::EMail::operator =(const EMail &o)
237
VCard::Address::Address() : d_ptr(new VCard::AddressPrivate)
241
VCard::Address::Address(const Address &o) : d_ptr(o.d_ptr)
245
VCard::Address::Address(VCard::AddressPrivate &p) : d_ptr(&p)
249
VCard::Address::~Address()
253
VCard::Address &VCard::Address::operator =(const VCard::Address &o)
259
bool VCard::Address::testType(VCard::Address::Type t) const
261
return d_ptr->types & t;
264
QString VCard::Address::postBox() const
269
QString VCard::Address::extendedAddress() const
271
return d_ptr->extendedAddress;
274
QString VCard::Address::street() const
276
return d_ptr->street;
279
QString VCard::Address::locality() const
281
return d_ptr->locality;
284
QString VCard::Address::region() const
286
return d_ptr->region;
289
QString VCard::Address::postCode() const
294
QString VCard::Address::country() const
296
return d_ptr->country;
299
void VCard::Address::setType(VCard::Address::Type t, bool value)
301
d_ptr->types ^= ((d_ptr->types & t) == t) == value ? 0 : t;
304
void VCard::Address::setPostBox(const QString &postBox)
306
d_ptr->pobox = postBox;
309
void VCard::Address::setExtendedAddress(const QString &extendedAddress)
311
d_ptr->extendedAddress = extendedAddress;
314
void VCard::Address::setStreet(const QString &street)
316
d_ptr->street = street;
319
void VCard::Address::setLocality(const QString &locality)
321
d_ptr->locality = locality;
324
void VCard::Address::setRegion(const QString ®ion)
326
d_ptr->region = region;
329
void VCard::Address::setPostCode(const QString &postCode)
331
d_ptr->pcode = postCode;
334
void VCard::Address::setCountry(const QString &country)
336
d_ptr->country = country;
339
VCard::Organization::Organization() : d_ptr(new VCard::OrganizationPrivate)
343
VCard::Organization::Organization(const Organization &o) : d_ptr(o.d_ptr)
347
VCard::Organization::Organization(OrganizationPrivate &p) : d_ptr(&p)
351
VCard::Organization::~Organization()
355
VCard::Organization &VCard::Organization::operator =(const VCard::Organization &o)
361
QString VCard::Organization::name() const
363
return d_ptr->orgName;
366
QStringList VCard::Organization::units() const
368
return d_ptr->orgUnits;
371
void VCard::Organization::setName(const QString &name)
373
d_ptr->orgName = name;
376
void VCard::Organization::setUnits(const QStringList &units)
378
d_ptr->orgUnits = units;
381
void VCard::Organization::addUnit(const QString &unit)
383
d_ptr->orgUnits << unit;
386
VCard::VCard(const QString &formattedName, Classification classification)
387
: d_ptr(new VCardPrivate)
390
d->formattedName = formattedName;
391
d->classification = classification;
394
VCard::VCard(VCardPrivate &p) : d_ptr(&p)
402
void VCard::setFormattedName(const QString &fn)
404
d_func()->formattedName = fn;
407
const QString &VCard::formattedName() const
409
return d_func()->formattedName;
412
void VCard::setName(const Name &name)
414
d_func()->name = name;
417
const VCard::Name& VCard::name() const
419
return d_func()->name;
422
void VCard::setNickname(const QString& nickname)
424
d_func()->nickname = nickname;
427
QString VCard::nickname() const
429
return d_func()->nickname;
432
void VCard::setName(const QString &family,
433
const QString &given,
434
const QString &middle,
435
const QString &prefix,
436
const QString &suffix)
439
d->name.setFamily(family);
440
d->name.setGiven(given);
441
d->name.setMiddle(middle);
442
d->name.setPrefix(prefix);
443
d->name.setSuffix(suffix);
446
void VCard::setPhoto(const QString &extval)
449
d->photo.setExternal(extval);
452
void VCard::setPhoto(const Photo &photo)
454
d_func()->photo = photo;
457
VCard::Photo VCard::photo() const
459
return d_func()->photo;
462
void VCard::setBday(const QDateTime& bday)
464
d_func()->bday = bday;
467
void VCard::setBirthday(const QDateTime &bday)
469
d_func()->bday = bday;
472
void VCard::setBirthday(const QDate &bday)
474
d_func()->bday = QDateTime(bday, QTime(), Qt::UTC);
477
QDateTime VCard::bday() const
479
return d_func()->bday;
482
QDateTime VCard::birthday() const
484
return d_func()->bday;
487
void VCard::setUrl(const QUrl& url)
492
const QUrl &VCard::url() const
494
return d_func()->url;
497
QList<VCard::Telephone> VCard::telephones() const
499
return d_func()->telephones;
502
void VCard::addTelephone(const Telephone &t)
504
d_func()->telephones.append(t);
507
void VCard::addEmail(const EMail &email)
509
d_func()->emails.append(email);
512
QList<VCard::EMail> VCard::emails() const
514
return d_func()->emails;
517
QList<VCard::Address> VCard::addresses() const
519
return d_func()->addresses;
522
void VCard::addAdress(const Address &adr)
524
return d_func()->addresses.append(adr);
527
void VCard::setDesc(const QString& desc)
529
d_func()->description = desc;
532
const QString& VCard::desc() const
534
return d_func()->description;
537
void VCard::setTitle(const QString& title)
539
d_func()->title = title;
542
QString VCard::title() const
544
return d_func()->title;
547
void VCard::setRole(const QString& role)
549
d_func()->role = role;
552
QString VCard::role() const
554
return d_func()->role;
557
void VCard::setOrganization(const VCard::Organization &org)
562
void VCard::setOrganization(const QString &orgName, const QStringList &orgUnits)
565
d->org.setName(orgName);
566
d->org.setUnits(orgUnits);
569
VCard::Organization VCard::organization()
571
return d_func()->org;