[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/akonadi/plugins
From:       Till Adam <adam () kde ! org>
Date:       2007-04-22 15:00:31
Message-ID: 1177254031.423156.12214.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 656863 by tilladam:

Parse VCards.


 M  +15 -0     akonadi_serializer_addressee.cpp  
 M  +1 -1      akonadi_serializer_addressee.desktop  
 M  +4 -1      akonadi_serializer_addressee.h  


--- trunk/KDE/kdepim/akonadi/plugins/akonadi_serializer_addressee.cpp #656862:656863
@@ -1,10 +1,23 @@
 
 #include "akonadi_serializer_addressee.h"
 
+#include <kabc/addressee.h>
+
+#include "../libakonadi/item.h"
+
 using namespace Akonadi;
 
 void SerializerPluginAddresee::deserialize( Item& item, const QString& label, const \
QByteArray& data ) const  {
+    if ( item.mimeType() != QString::fromLatin1("text/vcard") ) {
+        //throw ItemSerializerException();
+    }
+
+    KABC::Addressee a = const_cast<KABC::VCardConverter*>(&m_converter)->parseVCard( \
data ); +    if ( !a.isEmpty() ) {
+        item.setPayload<KABC::Addressee>( a );
+    }
+
 }
 
 
@@ -15,6 +28,8 @@
 
 void SerializerPluginAddresee::serialize( const Item& item, const QString& label, \
QByteArray& data ) const  {
+    const KABC::Addressee a = item.payload<KABC::Addressee>();
+    data = m_converter.createVCard( a );
 }
 
 
--- trunk/KDE/kdepim/akonadi/plugins/akonadi_serializer_addressee.desktop \
#656862:656863 @@ -4,5 +4,5 @@
 Comment=An Akonadi serializer plugin for addressee objects
 
 [Plugin]
-Type=text/directory
+Type=text/vcard
 X-KDE-Library=libakonadi_serializer_addressee
--- trunk/KDE/kdepim/akonadi/plugins/akonadi_serializer_addressee.h #656862:656863
@@ -3,16 +3,19 @@
 #define __AKONADI_SERIALIZER_ADDRESSEE_H__
 
 #include "../libakonadi/itemserializer.h"
+#include <kabc/vcardconverter.h>
 
 namespace Akonadi {
 
 class SerializerPluginAddresee : public ItemSerializerPlugin
 {
-    public:
+public:
     void deserialize( Item& item, const QString& label, const QByteArray& data ) \
                const;
     void deserialize( Item& item, const QString& label, const QIODevice& data ) \
                const;
     void serialize( const Item& item, const QString& label, QByteArray& data ) \
                const;
     void serialize( const Item& item, const QString& label, QIODevice& data ) const;
+private:
+    KABC::VCardConverter m_converter;
 };
 
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic