summaryrefslogtreecommitdiffstats
path: root/korganizer
diff options
context:
space:
mode:
Diffstat (limited to 'korganizer')
-rw-r--r--korganizer/calendarview.cpp9
-rw-r--r--korganizer/incidencechanger.cpp4
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;