[Kde-pim] PIM BoF meeting notes

John Layt johnlayt at googlemail.com
Wed Jul 7 09:08:23 BST 2010


On Tuesday 06 July 2010 21:57:08 Thomas McGuire wrote:

> Kevin O.: Move KDate* to kdelibs

Putting on my kdelibs KDate* and KCalendarSystem* stuff maintainers hat, I'll 
be interested in this too.  Any reduction/improvement in the different date 
widgets will be good.  Just remember anything in kdelibs will need to localise 
the calendar system, something not all parts of KDEPIM do.

Another area for investigation is KDatePicker versus KDateNavigator.  While 
KDN has a lot of KO specific stuff in it and so probably can't merge with KDP, 
we should at least aim for consistency in behaviour and visual cues between 
them and the plasma calendar widget too.

> John: Investigate copied classes for Plasma clock calendar and put them in
>       kdepimlibs. Maybe remove dateengine from the Plasma clock as that is
>       pointless indirection

The currently copied code is:
    kdepim/akonadi/kcal/calendarmodel.h & .cpp
    kdepim/akonadi/kcal/daterangefilterproxymodel.h & .cpp
    kdepim/akonadi/kcal/utils.h & .cpp

You can find them in 
    kdebase/workspace/plasma/generic/dataengines/calendar/

Note the code is already a couple of revisions behind already.

The main bug at the moment is recurring events don't show in the plasma 
widget.  From what I can see the copied code provides the base incidence, but 
no way to obtain the actual recurrence that occurs in the required date range.  
The date range filter also does not seem to work, the Dataengine dumps all 
events to the plasmoid.  It also doesn't respond to updates made to the 
calendars after the events are displayed.  This could all just be bugs in the 
Dataengine/Plasmoid, or it could be the wrong classes are being used.

[The plasmoid also gets the timezone wrong, but that's not the Dataengine's 
fault.]

Poking around and looking at the kontact summary widget, it seems that 
kdepim/akonadi/kcal/calendar.* would be a better option to copy over as I get 
easy access to all the details including calculating recurrences, and it has 
an effective date range selection method.  I think it does still require 
either the Dataengine or the Plasmoid to calculate all the recurrences which 
is inconvenient but probably necessary.

I'm hacking on this at the moment, but I'll try chat to Sergio about this 
today.

My opinion (and I am happy to be corrected by those who know Dataengines 
better) is that the Dataengine is fine for providing basic PIM data to be 
displayed by a simple widget, but any advanced interaction such as creating 
new events should probably be done directly with Akonadi and the common editor 
widgets.  Do we really want to build and maintain and translate a full set of 
editors in plasma that use the Dataengine, and another abstraction/conversion 
layer in the Dataengine itself?  I'm not even sure Dataengines provide the 
facilities to do this properly, e.g. proper transactional support, error 
handling, etc.  Years of using middleware in large corporates has taught me 
this is hard to get right.  Against this is the Akonadi widgets not looking 
Plasma-fied and out of place, and not being accessible to scripted plasmoids.

I'll try chat to Ryan about this today.

Cheers!

John.
_______________________________________________
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