[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