summaryrefslogtreecommitdiffstats
path: root/korganizer/calendarview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'korganizer/calendarview.cpp')
-rw-r--r--korganizer/calendarview.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 340c6dab7..ae4a5b6e2 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -832,6 +832,7 @@ void CalendarView::updateView()
void CalendarView::updateUnmanagedViews()
{
mDateNavigator->updateDayMatrix();
+ updateView();
}
int CalendarView::msgItemDelete( Incidence *incidence )
@@ -2062,7 +2063,15 @@ void CalendarView::deleteIncidence(Incidence *incidence, bool force)
Incidence *oldIncidence = incidence->clone();
if (incidence->recurrence()->startDate() == itemDate) {
// Moving the first in a series...don't bother with the nonstandard exclusion list
- incidence->recurrence()->setStartDateTime( incidence->recurrence()->getNextDateTime( incidence->recurrence()->startDateTime() ) );
+ Recurrence *recur = incidence->recurrence();
+ Event* thisevent = static_cast<Event*>(incidence);
+ QDateTime newEnd;
+ QDateTime newRecurEnd;
+ newRecurEnd = recur->endDateTime();
+ newEnd.setTime_t( incidence->dtEnd().toTime_t() + ( recur->getNextDateTime( recur->startDateTime() ).toTime_t() - recur->startDateTime().toTime_t() ) );
+ thisevent->setDtEnd( newEnd );
+ incidence->setDtStart( recur->getNextDateTime( recur->startDateTime() ) );
+ recur->setEndDateTime(newRecurEnd);
}
else {
// No choice but to use the exclusion list
@@ -2094,6 +2103,8 @@ void CalendarView::deleteIncidence(Incidence *incidence, bool force)
processIncidenceSelection( 0 );
}
}
+
+ updateView();
}
void CalendarView::connectIncidenceEditor( KOIncidenceEditor *editor )