Revision 1193969

Go back to digest for 14th November 2010

Bug Fixes in KDE-PIM

Sergio Luis Martins committed changes in /trunk/KDE/kdepim:

Fix KCalCore::Scheduler not being able to find the incidence associated with an invitation update.

Groupware/MailScheduler/Scheduler used an ETM based calendar, and they assumed all incidences were accessible after creating the calendar, but ETM is async.

I did some refactoring and now Groupware/MailScheduler/Scheduler support some asynchness, Groupware::handleInvitation() was split in two. The first part creates the Calendar,then, when the calendar finishes loading Groupware::finishHandlingInvitation() is called.

I created a new class, NepomukCalendar ( derived from KCalCore::Calendar, so no CalendarAdaptor needed ), that is IncidenceSearchJob based.

You create it, and wait for the loadFinishing() signal.

The old ETM based calendar didn't providad a way see if loading had already finished. The new sparql/xesam based calendar does, and it's also lighter and more suitable for Groupware, because it's one-shot, we are not interested on ETM-like live-updates, we just want to have a KCalCore::Calendar, do our operation, and delete it.

(Rename NepomukCalendar if you want, couldn't come up with a better name).

File Changes

Added 2 files
  • /trunk/KDE/kdepim/calendarsupport
  •   /nepomukcalendar.cpp
  •   /nepomukcalendar.h
Modified 10 files
  • /trunk/KDE/kdepim
  •   /calendarsupport/calendaradaptor.cpp
  •   /calendarsupport/CMakeLists.txt
  •   /calendarsupport/groupware.cpp
  •   /calendarsupport/groupware.h
  •   /calendarsupport/mailscheduler.cpp
  •   /calendarsupport/mailscheduler.h
  •   /incidenceeditor-ng/groupwareintegration.cpp
  •   /calendarsupport/next/incidencechanger2.h
  •   /plugins/messageviewer/bodypartformatter/memorycalendarmemento.cpp
  •   /plugins/messageviewer/bodypartformatter/text_calendar.cpp
12 files changed in total