Revision 1193969
Go back to digest for 14th November 2010Bug Fixes in KDE-PIM
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
- /trunk/KDE/kdepim/calendarsupport
- /nepomukcalendar.cpp
- /nepomukcalendar.h
- /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