diff options
Diffstat (limited to 'korganizer')
-rw-r--r-- | korganizer/calendarview.cpp | 9 | ||||
-rw-r--r-- | korganizer/incidencechanger.cpp | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index b13b0691f..340c6dab7 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -2060,7 +2060,14 @@ void CalendarView::deleteIncidence(Incidence *incidence, bool force) case KMessageBox::Yes: // just this one if ( mChanger->beginChange( incidence ) ) { Incidence *oldIncidence = incidence->clone(); - incidence->recurrence()->addExDate( itemDate ); + 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() ) ); + } + else { + // No choice but to use the exclusion list + incidence->recurrence()->addExDate( itemDate ); + } mChanger->changeIncidence( oldIncidence, incidence ); mChanger->endChange( incidence ); delete oldIncidence; diff --git a/korganizer/incidencechanger.cpp b/korganizer/incidencechanger.cpp index 623eaa944..92332578c 100644 --- a/korganizer/incidencechanger.cpp +++ b/korganizer/incidencechanger.cpp @@ -82,7 +82,7 @@ bool IncidenceChanger::endChange( Incidence *incidence ) // FIXME: if that's a groupware incidence, and the incidence was // never locked, we can't unlock it with endChange(). if ( !incidence ) return false; -kdDebug(5850)<<"IncidenceChanger::endChange for incidence \""<<incidence->summary()<<"\""<<endl; + // kdDebug(5850)<<"IncidenceChanger::endChange for incidence \""<<incidence->summary()<<"\""<<endl; return mCalendar->endChange( incidence ); } @@ -289,7 +289,7 @@ kdDebug(5850)<<"IncidenceChanger::changeIncidence for incidence \""<<newinc->sum int revision = newinc->revision(); newinc->setRevision( revision + 1 ); // FIXME: Use a generic method for this! Ideally, have an interface class - // for group cheduling. Each implementation could then just do what + // for group scheduling. Each implementation could then just do what // it wants with the event. If no groupware is used,use the null // pattern... bool revert = KOPrefs::instance()->mUseGroupwareCommunication; |