diff options
Diffstat (limited to 'source/QXmppVCard.cpp')
| -rw-r--r-- | source/QXmppVCard.cpp | 14 |
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>";
}
|
