aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppVCard.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2009-09-14 12:34:47 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2009-09-14 12:34:47 +0000
commitccc7b84ed3dc2860d8211263acdb073855fdbbc9 (patch)
tree6a18f4fbd43a5e1ccb0f17cd99976743976d0909 /source/QXmppVCard.cpp
parent73f17fcaf77d1e0e93aae67ac2957a42cc91cbbb (diff)
downloadqxmpp-ccc7b84ed3dc2860d8211263acdb073855fdbbc9.tar.gz
bug fixes
Diffstat (limited to 'source/QXmppVCard.cpp')
-rw-r--r--source/QXmppVCard.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/source/QXmppVCard.cpp b/source/QXmppVCard.cpp
index 1d4b9509..caf47ef8 100644
--- a/source/QXmppVCard.cpp
+++ b/source/QXmppVCard.cpp
@@ -28,6 +28,7 @@
#include <QTextStream>
#include <QImage>
+#include <QBuffer>
QXmppVCard::QXmppVCard(const QString& jid) : QXmppIq(QXmppIq::Get)
{
@@ -55,6 +56,15 @@ void QXmppVCard::setPhoto(const QByteArray& photo)
m_photo = photo;
}
+void QXmppVCard::setPhoto(const QImage& image)
+{
+ QByteArray ba;
+ QBuffer buffer(&ba);
+ buffer.open(QIODevice::WriteOnly);
+ image.save(&buffer, "PNG");
+ m_photo = ba;
+}
+
void QXmppVCard::parse(const QDomElement& nodeRecv)
{
QString id = nodeRecv.attribute("id");
@@ -87,9 +97,9 @@ QByteArray QXmppVCard::toXmlElementFromChild() const
if(!getPhoto().isEmpty())
{
- stream << "<PHOTO";
+ stream << "<PHOTO>";
helperToXmlAddElement(stream, "TYPE", getImageType(getPhoto()));
- helperToXmlAddElement(stream, "BINVAL", getPhoto());
+ helperToXmlAddElement(stream, "BINVAL", getPhoto().toBase64());
stream << "</PHOTO>";
}