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