summaryrefslogtreecommitdiffstats
path: root/korganizer/calendarview.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-08-18 08:07:58 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-08-18 08:07:58 +0000
commit740cad9fc10cc4e3683b619cbe06da24ef18f1b0 (patch)
treee5540379c2fe570b009ea5d99cdecbc13ee71ea4 /korganizer/calendarview.cpp
parent8f37a4f755113e7440ae985111d36985d500cc95 (diff)
downloadtdepim-740cad9fc10cc4e3683b619cbe06da24ef18f1b0.tar.gz
tdepim-740cad9fc10cc4e3683b619cbe06da24ef18f1b0.zip
Attempt to fix incorrect meeting motices being sent when the first instance of a recurring meeting is deleted.
This may need more work depending on how the number of recurrences are handled This should be more compatible with most CalDAV resources than the old way... git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1165076 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'korganizer/calendarview.cpp')
-rw-r--r--korganizer/calendarview.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index b13b0691..340c6dab 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;