diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-29 02:09:50 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-08-29 02:09:50 +0000 |
| commit | 494df25dd3d965321551602567057770d7893ced (patch) | |
| tree | dede4559bd50a7c58bf663ae37a3e9433f355d07 /src/QXmppVCard.cpp | |
| parent | e0b41e7779323cd0df6ba061e83d21bad6d0d9d9 (diff) | |
| download | qxmpp-494df25dd3d965321551602567057770d7893ced.tar.gz | |
add support for birthday & email to vCard
Diffstat (limited to 'src/QXmppVCard.cpp')
| -rw-r--r-- | src/QXmppVCard.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/QXmppVCard.cpp b/src/QXmppVCard.cpp index 598ed1f7..77c9e2a4 100644 --- a/src/QXmppVCard.cpp +++ b/src/QXmppVCard.cpp @@ -67,6 +67,26 @@ QXmppVCard::QXmppVCard(const QString& jid) : QXmppIq(QXmppIq::Get) setTo(jid); } +QDate QXmppVCard::birthday() const +{ + return m_birthday; +} + +void QXmppVCard::setBirthday(const QDate &birthday) +{ + m_birthday = birthday; +} + +QString QXmppVCard::email() const +{ + return m_email; +} + +void QXmppVCard::setEmail(const QString &email) +{ + m_email = email; +} + QString QXmppVCard::firstName() const { return m_firstName; @@ -158,6 +178,9 @@ void QXmppVCard::parseElementFromChild(const QDomElement& nodeRecv) { // vCard QDomElement cardElement = nodeRecv.firstChildElement("vCard"); + m_birthday = QDate::fromString(cardElement.firstChildElement("BDAY").text(), "yyyy-MM-dd"); + QDomElement emailElement = cardElement.firstChildElement("EMAIL"); + m_email = emailElement.firstChildElement("USERID").text(); m_fullName = cardElement.firstChildElement("FN").text(); m_nickName = cardElement.firstChildElement("NICKNAME").text(); QDomElement nameElement = cardElement.firstChildElement("N"); @@ -175,6 +198,15 @@ void QXmppVCard::toXmlElementFromChild(QXmlStreamWriter *writer) const { writer->writeStartElement("vCard"); helperToXmlAddAttribute(writer,"xmlns", ns_vcard); + if (m_birthday.isValid()) + helperToXmlAddTextElement(writer, "BDAY", m_birthday.toString("yyyy-MM-dd")); + if (!m_email.isEmpty()) + { + writer->writeStartElement("EMAIL"); + writer->writeEmptyElement("INTERNET"); + helperToXmlAddTextElement(writer, "USERID", m_email); + writer->writeEndElement(); + } if (!m_fullName.isEmpty()) helperToXmlAddTextElement(writer, "FN", m_fullName); if(!m_nickName.isEmpty()) |
