summaryrefslogtreecommitdiffabout
path: root/libkcal
Unidiff
Diffstat (limited to 'libkcal') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/todo.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp
index 5260051..4ada2d8 100644
--- a/libkcal/todo.cpp
+++ b/libkcal/todo.cpp
@@ -537,10 +537,24 @@ void Todo::setPercentComplete(int v)
537} 537}
538QDateTime Todo::getNextAlarmDateTime( bool * ok, int * offset, QDateTime start_dt ) const 538QDateTime Todo::getNextAlarmDateTime( bool * ok, int * offset, QDateTime start_dt ) const
539{ 539{
540 if ( isCompleted() || ! hasDueDate() || cancelled() || !alarmEnabled() ) { 540 *ok = false;
541 *ok = false; 541 if ( ! hasDueDate() || cancelled() || !alarmEnabled() ) {
542 return QDateTime (); 542 return QDateTime ();
543 } 543 }
544 // if the recurring todo is set to complete and requested time < start time of todo
545 // we want to get the alarm.
546 bool iscompleted = isCompleted();
547 if ( iscompleted && doesRecur() ) {
548 Todo * to = (Todo*) this;
549 to->checkSetCompletedFalse();
550 iscompleted = isCompleted();
551 if ( hasStartDate() && start_dt < dtStart() ){
552 iscompleted = false;
553 }
554 }
555 if ( iscompleted ) {
556 return QDateTime ();
557 }
544 QDateTime incidenceStart; 558 QDateTime incidenceStart;
545 incidenceStart = dtDue(); 559 incidenceStart = dtDue();
546 bool enabled = false; 560 bool enabled = false;