From 623b4d4abe87789dacd4c14de88a63b44ca352b7 Mon Sep 17 00:00:00 2001 From: zautrix Date: Wed, 06 Jun 2007 13:14:20 +0000 Subject: display of next alarm of recurring events in event viewer fixed --- (limited to 'korganizer') diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 607e549..92d2a80 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp @@ -396,6 +396,16 @@ void KOEventViewer::appendEvent(Event *event, int mode ) if (event->isAlarmEnabled()) { Alarm *alarm =event->alarms().first() ; QDateTime t = alarm->time(); + + if (event->doesRecur()) { + bool ok = false; + int offset = 0; + QDateTime next = event->getNextAlarmDateTime(& ok, &offset, QDateTime::currentDateTime() ) ; + if ( ok ) { + t = next; + } + } + QString s =i18n("( %1 before )").arg( alarm->offsetText() ); if(wideScreen ){ addTag("p",i18n("Alarm on: ") + s +" "+ KGlobal::locale()->formatDateTime( t, shortDate )); @@ -518,7 +528,15 @@ void KOEventViewer::appendTodo(Todo *event, int mode ) if (event->isAlarmEnabled()) { Alarm *alarm =event->alarms().first() ; QDateTime t = alarm->time(); - QString s =i18n("( %1 before )").arg( alarm->offsetText() ); + if (event->doesRecur()) { + bool ok = false; + int offset = 0; + QDateTime next = event->getNextAlarmDateTime(& ok, &offset, QDateTime::currentDateTime() ) ; + if ( ok ) { + t = next; + } + } + QString s =i18n("( %1 before )").arg( alarm->offsetText() ); if ( wideScreen ) { addTag("p",i18n("Alarm on: ") + s +" "+ KGlobal::locale()->formatDateTime( t, shortDate )); } else { -- cgit v0.9.0.2