summaryrefslogtreecommitdiffabout
path: root/libkcal/calendarlocal.cpp
Side-by-side diff
Diffstat (limited to 'libkcal/calendarlocal.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libkcal/calendarlocal.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp
index 3f46d53..12294c0 100644
--- a/libkcal/calendarlocal.cpp
+++ b/libkcal/calendarlocal.cpp
@@ -152,8 +152,8 @@ bool CalendarLocal::addEvent( Event *event )
void CalendarLocal::deleteEvent( Event *event )
{
-
-
+ if ( mUndoIncidence ) delete mUndoIncidence;
+ mUndoIncidence = event->clone();
if ( mEventList.removeRef( event ) ) {
setModified( true );
}
@@ -201,6 +201,8 @@ bool CalendarLocal::addTodo( Todo *todo )
void CalendarLocal::deleteTodo( Todo *todo )
{
// Handle orphaned children
+ if ( mUndoIncidence ) delete mUndoIncidence;
+ mUndoIncidence = todo->clone();
removeRelations( todo );
if ( mTodoList.removeRef( todo ) ) {
@@ -687,6 +689,9 @@ bool CalendarLocal::addJournal(Journal *journal)
void CalendarLocal::deleteJournal( Journal *journal )
{
+ if ( mUndoIncidence ) delete mUndoIncidence;
+ mUndoIncidence = journal->clone();
+ mUndoIncidence->setSummary( mUndoIncidence->description().left(25));
if ( mJournalList.removeRef(journal) ) {
setModified( true );
}