Branch 'kolab/integration/4.13.0' - plugins/akonadi_serializer_kcalcore.cpp plugins/akonadi_serializer_kcalcore.h

Christian Mollekopf mollekopf at kolabsys.com
Wed Sep 24 21:50:33 CEST 2014


 plugins/akonadi_serializer_kcalcore.cpp |    7 ++++++-
 plugins/akonadi_serializer_kcalcore.h   |    3 +++
 2 files changed, 9 insertions(+), 1 deletion(-)

New commits:
commit 578e8c50fc1dd85219b0cbcdfdd237dc735821d2
Author: Christian Mollekopf <chrigi_1 at fastmail.fm>
Date:   Wed Sep 24 21:44:20 2014 +0200

    SerializerPluginKCalCore: use the significantly faster readIncidence

diff --git a/plugins/akonadi_serializer_kcalcore.cpp b/plugins/akonadi_serializer_kcalcore.cpp
index 91a76d4..8df11b2 100644
--- a/plugins/akonadi_serializer_kcalcore.cpp
+++ b/plugins/akonadi_serializer_kcalcore.cpp
@@ -37,6 +37,11 @@ using namespace KCalCore;
 using namespace KCalUtils;
 using namespace Akonadi;
 
+SerializerPluginKCalCore::SerializerPluginKCalCore()
+    : mTimeZones(new ICalTimeZones)
+{
+}
+
 //// ItemSerializerPlugin interface
 
 bool SerializerPluginKCalCore::deserialize( Item &item, const QByteArray &label,
@@ -80,7 +85,7 @@ bool SerializerPluginKCalCore::deserialize( Item &item, const QByteArray &label,
     incidence = base.staticCast<KCalCore::Incidence>();
   } else {
     // Use the old format
-    incidence = mFormat.fromString( QString::fromUtf8( data.readAll() ) );
+    incidence = mFormat.readIncidence(data.readAll(), mTimeZones.data());
   }
 
   if ( !incidence ) {
diff --git a/plugins/akonadi_serializer_kcalcore.h b/plugins/akonadi_serializer_kcalcore.h
index 7e99492..340b7c0 100644
--- a/plugins/akonadi_serializer_kcalcore.h
+++ b/plugins/akonadi_serializer_kcalcore.h
@@ -26,6 +26,7 @@
 #include <akonadi/itemserializerplugin.h>
 #include <akonadi/gidextractorinterface.h>
 #include <KCalCore/ICalFormat>
+#include <KCalCore/ICalTimeZones>
 
 namespace Akonadi {
 
@@ -41,6 +42,7 @@ class SerializerPluginKCalCore : public QObject,
     Q_INTERFACES( Akonadi::GidExtractorInterface )
 
   public:
+    SerializerPluginKCalCore();
     bool deserialize( Item& item, const QByteArray& label, QIODevice& data, int version );
     void serialize( const Item& item, const QByteArray& label, QIODevice& data, int &version );
 
@@ -52,6 +54,7 @@ class SerializerPluginKCalCore : public QObject,
 
   private:
     KCalCore::ICalFormat mFormat;
+    QSharedPointer<KCalCore::ICalTimeZones> mTimeZones;
 };
 
 }




More information about the commits mailing list