Hi,

> -----Original Message-----
> From: meego-dev-boun...@meego.com [mailto:meego-dev-boun...@meego.com]
> On Behalf Of ext Patrick Ohly
> Sent: 18. huhtikuuta 2011 12:21
> To: Manera Alvaro (Nokia-SD/Helsinki); Muppavarapu, Sirisha; Goddard
> Michael (Nokia-SD-Qt/Brisbane)
> Cc: meego-dev@meego.com
> Subject: [MeeGo-dev] KCalCore API changes (was: Re: migration (back) to
> EDS - contacts and calendar)
> 
> Hello!
> 
> I believe MeeGo KCalCore API semantic differs from upstream KDE in the
> interpretation of the endDate value. See below for the details.
> 
> I would like to have this fixed *before* releasing MeeGo 1.2 with the
> modified API semantic. It's not part of the official platform API, but
> does get used and thus fixing it later just means more code will have
> been written against the modified API.
> 
> Alvaro, can you comment on why the API semantic was changed? If I
> misunderstand the situation or lack certain information, then let's
> better resolve such a misunderstanding. ;-}
> 
> Sirisha, you would have to adapt the MeeGo UX calendar app. Doable?
> 
> Michael, how about QtMobility Organizer?

including myself and Mika Tikkakoski, current tech lead for mobility PIM area 
into the discussion. Mika, could you comment on Patrik's question here.

Tero Äijälä
PM / Qt Mobility

> 
> Anyone else depending on the KCalCore end date semantic?
> 
> Bye, Patrick
> 
> On So, 2011-04-03 at 21:18 +0100, Patrick Ohly wrote:
> > On Fr, 2011-04-01 at 11:29 +0200, Patrick Ohly wrote:
> > > > > I beg to disagree here. The MeeGo version of KCalCore is
> compiled
> > > > > differently than the upstream version:
> > > > >
> > > > > #if !defined(KCALCORE_FOR_MEEGO)
> > > > >         endDate = kdt.date().addDays( -1 );
> > > > > #else
> > > > >         endDate = kdt.date();
> > > > > #endif
> > > > >
> > > >
> > > > Go to the kde git, and you will see those there. So the code, as
> I said, is
> > > > from upstream.
> > >
> > > My point is that the MeeGo version of KCalCore is functionally
> different
> > > from the one in KDE. That the code is upstream is irrelevant as
> long as
> > > ifdefs are used for more fundamental changes than merely getting
> the
> > > code to compile on a different platform.
> >
> > My suspicion all along was that these defines around end date change
> the
> > semantic of KCalCore. To verify that, I modified the test program
> from
> > BMC #6050 such that it imports an iCalendar 2.0 all-day event and
> prints
> > its start/end date after importing into KCalCore.
> >
> > Code attached, compile/run with:
> >         rm -rf ~/.calendar && \
> >         g++ -g test-allday-semantic.cpp `pkg-config --cflags --libs
> libmkcal ` && \
> >         ./a.out
> >
> > In MeeGo with KCalCore 4.1.18 I get
> >   start QDate("Wed Apr 5 2006") end QDate("Thu Apr 6 2006")
> >
> > After recompiling that version without KCALCORE_FOR_MEEGO I get:
> >   start QDate("Wed Apr 5 2006") end QDate("Wed Apr 5 2006")
> >
> > In other words, the patch changes the semantic of dtEnd() for
> > applications. Upstream KDE uses "dtEnd() is inclusive", the MeeGo
> > version uses "dtEnd() is exclusive".
> >
> > The latter is closer to iCalendar 2.0, but is that a good enough
> > justification to break compatibility with apps ported from KDE? I
> don't
> > think so.
> >
> > Another possible justification would be that the original semantic
> > cannot express an "empty" all-day event (start == end). Again I would
> > consider not modifying the API as more important than this cleanup.
> >
> 
> 
> _______________________________________________
> MeeGo-dev mailing list
> MeeGo-dev@meego.com
> http://lists.meego.com/listinfo/meego-dev
> http://wiki.meego.com/Mailing_list_guidelines
_______________________________________________
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev
http://wiki.meego.com/Mailing_list_guidelines

Reply via email to