[Kde-pim] differences between KDE and MeeGo KCalCore?

Patrick Ohly patrick.ohly at intel.com
Mon Mar 14 12:00:24 GMT 2011


Hello!

I am trying to understand how KCalCore in MeeGo is related to the
corresponding code in KDE  PIM. Because it involves two different
projects, I am cross-posting; beware that answers to meego-dev will
bounce unless subscribed (sorry for that).

There have been various issues in MeeGo with iCalendar 2.0 handling,
which surprised me because I thought that KDE had already solved these
issues. After digging deeper, it seems that some of these problems were
introduced when adapting KCalCore to MeeGo. For example, one bug fix
(NB#196197, quoted below) consists of removing code that was only used
in MeeGo.

On the other hand, another patch introduces such a define (NB#6050).

Alvaro, Pertti, shouldn't KCalCore be independent of MeeGo and (ignoring
short-term bug fixes which are not yet upstream) identical to the
version in KDE? Why are these defines necessary?

Question to KDE: which KDE apps use KCalCore? Have they been adapted to
the API changes introduced last year? In other words, is KCalCore
actively used in KDE?

$ git log -n 1 -p 6f6a2d53fad00ca00dce3d456145258b9fa43d3e
commit 6f6a2d53fad00ca00dce3d456145258b9fa43d3e
Author: Pertti Luukko <ext-pertti.luukko at nokia.com>
Date:   Wed Oct 6 11:33:06 2010 +0300

    Fixes:NB#196197 - Task shown one day later in device after sync with
N900

diff --git a/src/vcalformat.cpp b/src/vcalformat.cpp
index e89aed0..1492b82 100644
--- a/src/vcalformat.cpp
+++ b/src/vcalformat.cpp
@@ -978,14 +978,6 @@ Todo::Ptr VCalFormat::VTodoToEvent( VObject
*vtodo )
     anEvent->setHasStartDate( false );
   }
 
-#if defined(KCALCORE_FOR_MEEGO)
-  if (anEvent->allDay()) {
-    if ( anEvent->dtDue() == anEvent->dtStart() ) {
-      anEvent->setDtDue( anEvent->dtDue().addDays( 1 ) );
-    }
-  }
-#endif
-
   // alarm stuff
   if ( ( vo = isAPropertyOf( vtodo, VCDAlarmProp ) ) ) {
     Alarm::Ptr alarm;

$ git log -n 1 -p 6620d44b42a628ed1da54b3e2323a311ab3d9dc1
commit 6620d44b42a628ed1da54b3e2323a311ab3d9dc1
Author: Pertti Luukko <ext-pertti.luukko at nokia.com>
Date:   Tue Feb 1 09:20:52 2011 +0200

    Fixes: NB#6050 - importing/exporting iCalendar 2.0: all-day event
looses DTEND and VALUE=DATE

diff --git a/src/icalformat_p.cpp b/src/icalformat_p.cpp
index 6721077..e5ee5a0 100644
--- a/src/icalformat_p.cpp
+++ b/src/icalformat_p.cpp
@@ -1153,7 +1153,12 @@ Event::Ptr
ICalFormatImpl::readEvent( icalcomponent *vevent, ICalTimeZones *tzli
       KDateTime kdt = readICalDateTimeProperty( p, tzlist );
       if ( kdt.isDateOnly() ) {
         // End date is non-inclusive
-        QDate endDate = kdt.date().addDays( -1 );
+       QDate endDate;
+#if !defined(KCALCORE_FOR_MEEGO)
+        endDate = kdt.date().addDays( -1 );
+#else
+        endDate = kdt.date();
+#endif
         if ( d->mCompat ) {
           d->mCompat->fixFloatingEnd( endDate );
         }

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.


_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list