Hello community, here is the log from the commit of package kdepim4-runtime for openSUSE:Factory checked in at Wed Apr 27 10:25:03 CEST 2011.
-------- --- KDE/kdepim4-runtime/kdepim4-runtime.changes 2011-04-09 20:35:51.000000000 +0200 +++ /mounts/work_src_done/STABLE/kdepim4-runtime/kdepim4-runtime.changes 2011-04-21 22:21:57.000000000 +0200 @@ -1,0 +2,6 @@ +Thu Apr 21 20:22:40 UTC 2011 - [email protected] + +- Update to 4.4.11.1 + * Bugfixes over 4.4.10 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- kdepim-runtime-4.4.10.tar.bz2 New: ---- kdepim-runtime-4.4.11.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdepim4-runtime.spec ++++++ --- /var/tmp/diff_new_pack.kJnutf/_old 2011-04-27 10:13:30.000000000 +0200 +++ /var/tmp/diff_new_pack.kJnutf/_new 2011-04-27 10:13:30.000000000 +0200 @@ -26,8 +26,8 @@ Group: System/GUI/KDE Summary: Base package of kdepim Url: http://www.kde.org -Version: 4.4.10 -Release: 7 +Version: 4.4.11.1 +Release: 1 Source0: kdepim-runtime-%version.tar.bz2 Patch: 4_4_BRANCH.diff Patch6: disable-knut.diff ++++++ kdepim-runtime-4.4.10.tar.bz2 -> kdepim-runtime-4.4.11.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/.krazy new/kdepim-runtime-4.4.11.1/.krazy --- old/kdepim-runtime-4.4.10/.krazy 1970-01-01 01:00:00.000000000 +0100 +++ new/kdepim-runtime-4.4.11.1/.krazy 2011-04-21 15:41:44.000000000 +0200 @@ -0,0 +1,3 @@ +SKIP /libkdepim-copy/\|/resources/openchange/ +EXTRA defines,kdebug,null,qenums,tipsandthis +STRICT super diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/agents/nepomuk_calendar_feeder/CMakeLists.txt new/kdepim-runtime-4.4.11.1/agents/nepomuk_calendar_feeder/CMakeLists.txt --- old/kdepim-runtime-4.4.10/agents/nepomuk_calendar_feeder/CMakeLists.txt 2011-01-27 15:47:32.000000000 +0100 +++ new/kdepim-runtime-4.4.11.1/agents/nepomuk_calendar_feeder/CMakeLists.txt 2011-04-21 15:41:44.000000000 +0200 @@ -19,5 +19,14 @@ ${KDEPIMLIBS_KCAL_LIBS} ) +## Patch from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=596908 +## We've not seen the reported issue, but it's better to have patches upstream, +## so we take it in. +# akonadi_nepomuk_calendar_feeder_automoc depend on the presence of the +# ontology class headers. We can be sure that they are present when niefast +# target is built. This is needed to avoid a race condition when building in +# parallel. +add_dependencies( akonadi_nepomuk_calendar_feeder_automoc niefast ) + install(TARGETS akonadi_nepomuk_calendar_feeder ${INSTALL_TARGETS_DEFAULT_ARGS}) -install(FILES nepomukcalendarfeeder.desktop DESTINATION "${CMAKE_INSTALL_PREFIX}/share/akonadi/agents") +install(FILES nepomukcalendarfeeder.desktop DESTINATION "${CMAKE_INSTALL_PREFIX}/share/akonadi/agents") \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/CMakeLists.txt new/kdepim-runtime-4.4.11.1/plugins/CMakeLists.txt --- old/kdepim-runtime-4.4.10/plugins/CMakeLists.txt 2011-01-27 15:47:32.000000000 +0100 +++ new/kdepim-runtime-4.4.11.1/plugins/CMakeLists.txt 2011-04-21 15:41:44.000000000 +0200 @@ -22,6 +22,13 @@ target_link_libraries(akonadi_serializer_kcal ${KDE4_KDECORE_LIBS} ${KDEPIMLIBS_KCAL_LIBS} ${KDEPIMLIBS_AKONADI_LIBS}) install(TARGETS akonadi_serializer_kcal DESTINATION ${PLUGIN_INSTALL_DIR}) +if(KDEPIMLIBS_KCALCORE_LIBS) + set(akonadi_serializer_kcalcore_SRCS akonadi_serializer_kcalcore.cpp) + kde4_add_plugin(akonadi_serializer_kcalcore ${akonadi_serializer_kcalcore_SRCS}) + target_link_libraries(akonadi_serializer_kcalcore ${KDE4_KDECORE_LIBS} ${KDEPIMLIBS_KCALUTILS_LIBS} ${KDEPIMLIBS_KCALCORE_LIBS} ${KDEPIMLIBS_AKONADI_LIBS}) + install(TARGETS akonadi_serializer_kcalcore DESTINATION ${PLUGIN_INSTALL_DIR}) +endif() + set(akonadi_serializer_bookmark_SRCS akonadi_serializer_bookmark.cpp) kde4_add_plugin(akonadi_serializer_bookmark ${akonadi_serializer_bookmark_SRCS}) target_link_libraries(akonadi_serializer_bookmark ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${KDEPIMLIBS_AKONADI_LIBS}) @@ -43,6 +50,7 @@ akonadi_serializer_addressee.desktop akonadi_serializer_mail.desktop akonadi_serializer_kcal.desktop + akonadi_serializer_kcalcore.desktop akonadi_serializer_bookmark.desktop akonadi_serializer_contactgroup.desktop akonadi_serializer_microblog.desktop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.cpp new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.cpp --- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.cpp 2011-04-21 15:41:44.000000000 +0200 @@ -0,0 +1,312 @@ +/* + Copyright (c) 2007 Volker Krause <[email protected]> + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + +#include "akonadi_serializer_kcalcore.h" + +#include <akonadi/abstractdifferencesreporter.h> +#include <akonadi/item.h> +#include <akonadi/collection.h> + +#include <KCalCore/Event> +#include <KCalCore/Todo> + +#include <KCalUtils/Stringify> + +#include <kdebug.h> +#include <klocale.h> +#include <kdeversion.h> + +#include <QtCore/qplugin.h> + +using namespace KCalCore; +using namespace KCalUtils; +using namespace Akonadi; +using namespace AkonadiFuture; + +//// ItemSerializerPlugin interface + +bool SerializerPluginKCalCore::deserialize(Item & item, const QByteArray & label, QIODevice & data, int version) +{ + Q_UNUSED( version ); + + if ( label != Item::FullPayload ) { + return false; + } + + Incidence::Ptr i = mFormat.fromString( QString::fromUtf8( data.readAll() ) ); + if ( !i ) { + kWarning( 5263 ) << "Failed to parse incidence! Item id = " << item.id() + << "Storage collection id " << item.storageCollectionId() + << "parentCollectionId = " << item.parentCollection().id(); + data.seek( 0 ); + kWarning( 5263 ) << QString::fromUtf8( data.readAll() ); + return false; + } + item.setPayload( i ); + return true; +} + +void SerializerPluginKCalCore::serialize(const Item & item, const QByteArray & label, QIODevice & data, int &version) +{ + Q_UNUSED( version ); + + if ( label != Item::FullPayload || !item.hasPayload<Incidence::Ptr>() ) + return; + Incidence::Ptr i = item.payload<Incidence::Ptr>(); + // ### I guess this can be done without hardcoding stuff + data.write( "BEGIN:VCALENDAR\nPRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN\nVERSION:2.0\n" ); +#if KDE_IS_VERSION( 4, 6, 40 ) + data.write( mFormat.toRawString( i ) ); +#else + data.write( mFormat.toString( i ).toUtf8() ); +#endif + data.write( "\nEND:VCALENDAR" ); +} + +//// DifferencesAlgorithmInterface + +static bool compareString( const QString &left, const QString &right ) +{ + if ( left.isEmpty() && right.isEmpty() ) + return true; + else + return left == right; +} + +static QString toString( const Attendee::Ptr &attendee ) +{ + return attendee->name() + QLatin1Char( '<' ) + attendee->email() + QLatin1Char( '>' ); +} + +static QString toString( const Alarm::Ptr & ) +{ + return QString(); +} + +/* +static QString toString( const Incidence::Ptr & ) +{ + return QString(); +} +*/ + +static QString toString( const Attachment::Ptr & ) +{ + return QString(); +} + +static QString toString( const QDate &date ) +{ + return date.toString(); +} + +static QString toString( const KDateTime &dateTime ) +{ + return dateTime.dateTime().toString(); +} + +static QString toString( const QString &str ) +{ + return str; +} + +static QString toString( bool value ) +{ + if ( value ) + return i18n( "Yes" ); + else + return i18n( "No" ); +} + +template <class C> +static void compareList( AbstractDifferencesReporter *reporter, + const QString &id, + const C &left, + const C &right ) +{ + for ( typename C::const_iterator it = left.begin(), end = left.end() ; it != end ; ++it ) { + if ( !right.contains( *it ) ) + reporter->addProperty( AbstractDifferencesReporter::AdditionalLeftMode, id, toString( *it ), QString() ); + } + + for ( typename C::const_iterator it = right.begin(), end = right.end() ; it != end ; ++it ) { + if ( !left.contains( *it ) ) + reporter->addProperty( AbstractDifferencesReporter::AdditionalRightMode, id, QString(), toString( *it ) ); + } +} + +static void compareIncidenceBase( AbstractDifferencesReporter *reporter, + const IncidenceBase::Ptr &left, + const IncidenceBase::Ptr &right ) +{ + compareList( reporter, i18n( "Attendees" ), left->attendees(), right->attendees() ); + + if ( !compareString( left->organizer()->fullName(), right->organizer()->fullName() ) ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Organizer" ), + left->organizer()->fullName(), right->organizer()->fullName() ); + + if ( !compareString( left->uid(), right->uid() ) ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "UID" ), + left->uid(), right->uid() ); + + if ( left->allDay() != right->allDay() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Is all-day" ), + toString( left->allDay() ), toString( right->allDay() ) ); + + if ( left->hasDuration() != right->hasDuration() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has duration" ), + toString( left->hasDuration() ), toString( right->hasDuration() ) ); + + if ( left->duration() != right->duration() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Duration" ), + QString::number( left->duration().asSeconds() ), QString::number( right->duration().asSeconds() ) ); +} + +static void compareIncidence( AbstractDifferencesReporter *reporter, + const Incidence::Ptr &left, + const Incidence::Ptr &right ) +{ + if ( !compareString( left->description(), right->description() ) ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Description" ), + left->description(), right->description() ); + + if ( !compareString( left->summary(), right->summary() ) ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Summary" ), + left->summary(), right->summary() ); + + if ( left->status() != right->status() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Status" ), + Stringify::incidenceStatus( left ), Stringify::incidenceStatus( right ) ); + + if ( left->secrecy() != right->secrecy() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Secrecy" ), + toString( left->secrecy() ), toString( right->secrecy() ) ); + + if ( left->priority() != right->priority() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Priority" ), + toString( left->priority() ), toString( right->priority() ) ); + + if ( !compareString( left->location(), right->location() ) ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Location" ), + left->location(), right->location() ); + + compareList( reporter, i18n( "Categories" ), left->categories(), right->categories() ); + compareList( reporter, i18n( "Alarms" ), left->alarms(), right->alarms() ); + compareList( reporter, i18n( "Resources" ), left->resources(), right->resources() ); + compareList( reporter, i18n( "Attachments" ), left->attachments(), right->attachments() ); + compareList( reporter, i18n( "Exception Dates" ), left->recurrence()->exDates(), right->recurrence()->exDates() ); + compareList( reporter, i18n( "Exception Times" ), left->recurrence()->exDateTimes(), right->recurrence()->exDateTimes() ); + // TODO: recurrence dates and date/times, exrules, rrules + + if ( left->created() != right->created() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, + i18n( "Created" ), left->created().toString(), right->created().toString() ); + + if ( !compareString( left->relatedTo(), right->relatedTo() ) ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, + i18n( "Related Uid" ), left->relatedTo(), right->relatedTo() ); +} + +static void compareEvent( AbstractDifferencesReporter *reporter, + const Event::Ptr &left, + const Event::Ptr &right ) +{ + + if ( left->dtStart() != right->dtStart() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Start time" ), + left->dtStart().toString(), right->dtStart().toString() ); + + if ( left->hasEndDate() != right->hasEndDate() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has End Date" ), + toString( left->hasEndDate() ), toString( right->hasEndDate() ) ); + + if ( left->dtEnd() != right->dtEnd() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "End Date" ), + left->dtEnd().toString(), right->dtEnd().toString() ); + + // TODO: check transparency +} + +static void compareTodo( AbstractDifferencesReporter *reporter, + const Todo::Ptr &left, + const Todo::Ptr &right ) +{ + if ( left->hasStartDate() != right->hasStartDate() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Start Date" ), + toString( left->hasStartDate() ), toString( right->hasStartDate() ) ); + + if ( left->hasDueDate() != right->hasDueDate() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Due Date" ), + toString( left->hasDueDate() ), toString( right->hasDueDate() ) ); + + if ( left->dtDue() != right->dtDue() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Due Date" ), + left->dtDue().toString(), right->dtDue().toString() ); + + if ( left->hasCompletedDate() != right->hasCompletedDate() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Complete Date" ), + toString( left->hasCompletedDate() ), toString( right->hasCompletedDate() ) ); + + if ( left->percentComplete() != right->percentComplete() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Complete" ), + QString::number( left->percentComplete() ), QString::number( right->percentComplete() ) ); + + if ( left->completed() != right->completed() ) + reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Completed" ), + toString( left->completed() ), toString( right->completed() ) ); +} + +void SerializerPluginKCalCore::compare( Akonadi::AbstractDifferencesReporter *reporter, + const Akonadi::Item &leftItem, + const Akonadi::Item &rightItem ) +{ + Q_ASSERT( reporter ); + Q_ASSERT( leftItem.hasPayload<Incidence::Ptr>() ); + Q_ASSERT( rightItem.hasPayload<Incidence::Ptr>() ); + + const Incidence::Ptr leftIncidencePtr = leftItem.payload<Incidence::Ptr>(); + const Incidence::Ptr rightIncidencePtr = rightItem.payload<Incidence::Ptr>(); + + if ( leftIncidencePtr->type() == Incidence::TypeEvent ) { + reporter->setLeftPropertyValueTitle( i18n( "Changed Event" ) ); + reporter->setRightPropertyValueTitle( i18n( "Conflicting Event" ) ); + } else if ( leftIncidencePtr->type() == Incidence::TypeTodo ) { + reporter->setLeftPropertyValueTitle( i18n( "Changed Todo" ) ); + reporter->setRightPropertyValueTitle( i18n( "Conflicting Todo" ) ); + } + + compareIncidenceBase( reporter, leftIncidencePtr, rightIncidencePtr ); + compareIncidence( reporter, leftIncidencePtr, rightIncidencePtr ); + + const Event::Ptr leftEvent = leftIncidencePtr.dynamicCast<Event>() ; + const Event::Ptr rightEvent = rightIncidencePtr.dynamicCast<Event>() ; + if ( leftEvent && rightEvent ) { + compareEvent( reporter, leftEvent, rightEvent ); + } else { + const Todo::Ptr leftTodo = leftIncidencePtr.dynamicCast<Todo>(); + const Todo::Ptr rightTodo = rightIncidencePtr.dynamicCast<Todo>(); + if ( leftTodo && rightTodo ) { + compareTodo( reporter, leftTodo, rightTodo ); + } + } +} + +Q_EXPORT_PLUGIN2( akonadi_serializer_kcalcore, SerializerPluginKCalCore ) + +#include "akonadi_serializer_kcalcore.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.desktop new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.desktop --- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.desktop 1970-01-01 01:00:00.000000000 +0100 +++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.desktop 2011-04-21 15:41:44.000000000 +0200 @@ -0,0 +1,82 @@ +[Misc] +Name=Incidence Serializer +Name[ar]=مسلسل الحدث +Name[ca]=Serialitzador d'incidències +Name[ca@valencia]=Serialitzador d'incidències +Name[da]=Serieordning af hændelser +Name[de]=Ereignis-Serialisierung +Name[el]=Σειριακοποιητής περιστατικών +Name[en_GB]=Incidence Serialiser +Name[es]=Serializador de incidencias +Name[et]=Sündmuste jadasti +Name[fr]=Sérialiseur d'évènements +Name[ga]=Srathóir Imeachtaí +Name[gl]=Serializador de incidencias +Name[hu]=Eseménykezelő +Name[ia]=Divulgator partial de incidentias +Name[it]=Serializzatore occorrenze +Name[ja]=イベント用シリアライザ +Name[kk]=Істерді тізбектеуіші +Name[km]=ម៉ាស៊ីនបោះពុម្ពឧប្បត្តិហេតុ +Name[lt]=Įvykių serializatorius +Name[lv]=Notikumu serializētājs +Name[nb]=Forekomst-serialisering +Name[nds]=Begeefnis-Reegmoduul +Name[ne]=घटना मिलानकर्ता +Name[nl]=Agenda-item-administratie +Name[nn]=Hendingsserialisator +Name[pl]=Serializacja zdarzeń +Name[pt]=Serializador de Incidências +Name[pt_BR]=Serializador de incidências +Name[ro]=Serializator incidență +Name[ru]=Сохранение событий +Name[sv]=Förekomstserialisering +Name[tr]=Olay Sıralandırıcısı +Name[uk]=Серіалізатор подій +Name[x-test]=xxIncidence Serializerxx +Name[zh_CN]=事件序列转换器 +Name[zh_TW]=頻率序列器 +Comment=An Akonadi serializer plugin for events, tasks and journal entries +Comment[ar]=ملحق مسلسل اكوندا لمدخلات الأحداث و المهمات و السّجل اليومي +Comment[ca]=Un connector de serialització de l'Akonadi pels objectes incidències +Comment[ca@valencia]=Un connector de serialització de l'Akonadi pels objectes incidències +Comment[da]=Et Akonadi-plugin til serieordning af hændelser, opgaver og journalindgange +Comment[de]=Akonadi-Modul zur Serialisierung von Ereignissen +Comment[el]=Ένα πρόσθετο σειριακοποιητή Akonadi για γεγονότα, εργασίες και καταχωρήσεις χρονικού +Comment[en_GB]=An Akonadi serialiser plugin for events, tasks and journal entries +Comment[es]=Un complemento serializador de Akonadi para eventos, tareas y entradas del diario +Comment[et]=Akonadi sündmuste, ülesannete ja päevikusissekannate jadastamisplugin +Comment[fi]=Akonadi-liitännäinen tapahtumia, tehtäviä ja päiväkirjamerkintöjä varten. +Comment[fr]=Un module externe Akonadi pour la sérialisation des évènements +Comment[ga]=Breiseán srathóra Akonadi le haghaidh imeachtaí, tascanna, agus iontrálacha dialainne +Comment[gl]=Un engadido de serialización do Akonadi para eventos, tarefas e entradas do diario +Comment[hu]=Akonadi-modul események, feladatok és naplóbejegyzések kezeléséhez +Comment[ia]=Un plug-in pro divulgator partial de Akonadi pro eventos, cargas e jornales +Comment[it]=Un'estensione di Akonadi per la serializzazione di eventi, attività e diari +Comment[ja]=イベント、タスク、日記のエントリのための Akonadi シリアライザプラグイン +Comment[kk]=Akonadi оқиға, тапсырма, күнделік жазуларының тізбектеуіш плагині +Comment[km]=កម្មវិធីជំនួយកម្មវិធីបោះពុម្ព Akonadi សម្រាប់ធាតុព្រឹត្តិការណ៍ ភារកិច្ច និងទិនានុប្បវត្តិ +Comment[lt]=Akonadi serializatoriaus įskiepis įvykiams, užduotims ir dienoraščio įrašams +Comment[lv]=Akonadi notikumu, uzdevumu un dienasgrāmatas ierakstu serializēšanas spraudnis +Comment[nb]=Et Akonadi programtillegg for serialisering av hendelser, gjøremål og dagboksnotater +Comment[nds]=Akonadi-Inreegmoduul för Begeefnissen, Opgaven un Daagbookindrääg +Comment[ne]=घटना, कार्य र जर्नल भौचरका लागि एउटा एकोनाडी मिलानकर्ता प्लगइन +Comment[nl]=Een administratieplugin voor Akonadi voor evenementen, taken en journalen +Comment[nn]=Eit Akonadi-serialisatortillegg for hendingar, oppgåver og dagboktekstar +Comment[pa]=ਈਵੈਂਟ, ਟਾਸਕ ਅਤੇ ਜਰਨਲ ਐਂਟਰੀਆਂ ਲਈ ਅਕੌਂਡੀ ਸੀਰੀਲਾਈਜ਼ਰ ਪਲੱਗਇਨ +Comment[pl]=Wtyczka Akonadi do serializacji zdarzeń, zadań i wpisów w dzienniku +Comment[pt]=Um 'plugin' de serialização do Akonadi para os eventos, tarefas e itens do diário +Comment[pt_BR]=Um plug-in de serialização do Akonadi para os eventos, tarefas e entradas do diário +Comment[ro]=Modul de serializare Akonadi pentru evenimente, sarcini și întregistrări de agendă +Comment[ru]=Модуль сохранения событий, задач и журналов для Akonadi +Comment[sv]=Ett insticksprogram till Akonadi för serialisering av händelser, uppgifter och journalanteckningar +Comment[tr]=Olay, görev ve günlük nesneleri için bir Akonadi sıralandırıcısı +Comment[uk]=Додаток серіалізації Akonadi для подій, завдань і записів журналів +Comment[x-test]=xxAn Akonadi serializer plugin for events, tasks and journal entriesxx +Comment[zh_CN]=对事项、任务和日记项进行序列转换的 Akonadi 插件 +Comment[zh_TW]=事件、工作與日誌項目物件的 Akonadi 序列器外掛程式 + +[Plugin] +Type=text/calendar,application/x-vnd.akonadi.note,application/x-vnd.kde.notes +X-Akonadi-Class=default;KCalCore::Incidence*; +X-KDE-Library=akonadi_serializer_kcalcore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.h new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.h --- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.h 1970-01-01 01:00:00.000000000 +0100 +++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.h 2011-04-21 15:41:44.000000000 +0200 @@ -0,0 +1,53 @@ +/* + Copyright (c) 2007 Volker Krause <[email protected]> + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + +#ifndef AKONADI_SERIALIZER_KCALCORE_H +#define AKONADI_SERIALIZER_KCALCORE_H + +#include <QtCore/QObject> + +#include <akonadi/differencesalgorithminterface.h> +#include <akonadi/itemserializerplugin.h> +#include <KCalCore/ICalFormat> + +namespace AkonadiFuture { + +class SerializerPluginKCalCore : public QObject, + public Akonadi::ItemSerializerPlugin, + public Akonadi::DifferencesAlgorithmInterface + +{ + Q_OBJECT + Q_INTERFACES( Akonadi::ItemSerializerPlugin ) + Q_INTERFACES( Akonadi::DifferencesAlgorithmInterface ) + + public: + bool deserialize( Akonadi::Item& item, const QByteArray& label, QIODevice& data, int version ); + void serialize( const Akonadi::Item& item, const QByteArray& label, QIODevice& data, int &version ); + + void compare( Akonadi::AbstractDifferencesReporter *reporter, + const Akonadi::Item &leftItem, + const Akonadi::Item &rightItem ); + private: + KCalCore::ICalFormat mFormat; +}; + +} + +#endif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
