-rw-r--r-- | korganizer/koagendaview.cpp | 10 | ||||
-rw-r--r-- | korganizer/kotodoeditor.cpp | 35 |
2 files changed, 10 insertions, 35 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 4ff6899..db66413 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -998,22 +998,16 @@ void KOAgendaView::updateEventDates(KOAgendaItem *item, int type) if ( item->incidence()->type() == "Event" ) { item->incidence()->setDtStart(startDt); (static_cast<Event*>(item->incidence()))->setDtEnd(endDt); } else if ( item->incidence()->type() == "Todo" ) { Todo* to = static_cast<Todo*>(item->incidence()); - int len = 0; - if ( to->hasStartDate() && to->hasDueDate() ) - len = to->dtStart().secsTo( to->dtDue()); to->setDtDue(endDt); if ( to->hasStartDate() ) { - if ( len>0 ) - to->setDtStart(to->dtDue().addSecs( -len )); - else - if (to->dtStart() > to->dtDue() ) - to->setDtStart(to->dtDue().addDays( -3 )); + if (to->dtStart() >= to->dtDue() ) + to->setDtStart(to->dtDue().addDays( -2 )); } } //qDebug("KOAgendaView::updateEventDates stsart %s end %s ", startDt.toString().latin1(), endDt.toString().latin1() ); item->incidence()->setRevision(item->incidence()->revision()+1); item->setItemDate(startDt.date()); diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp index f9f037a..51e2524 100644 --- a/korganizer/kotodoeditor.cpp +++ b/korganizer/kotodoeditor.cpp @@ -349,41 +349,22 @@ void KOTodoEditor::writeTodo(Todo *event) // set related event, i.e. parent to-do in this case. if (mRelatedTodo) { event->setRelatedTo(mRelatedTodo); } if ( mGeneral->mDueCheck->isChecked() && mGeneral->mStartCheck->isChecked()) { mRecurrence->writeEvent(event); - event->setRecurrenceID( event->dtStart().addSecs(-1) ); - event->setRecurDates(); -#if 0 - bool ok; - QDateTime next = event->getNextOccurence( event->dtStart().addSecs(-1), &ok ); - if ( ok ) { - QDateTime from,to; - bool time = mGeneral->mTimeButton->isChecked(); - if ( time ) { - to = QDateTime( mGeneral->mDueDateEdit->date(), mGeneral->mDueTimeEdit->getTime() ) ; - from = QDateTime( mGeneral->mStartDateEdit->date(),mGeneral->mStartTimeEdit->getTime( )) ; - } else { - to = QDateTime( mGeneral->mDueDateEdit->date(), QTime( 0,0,0) ) ; - from = QDateTime( mGeneral->mStartDateEdit->date(),QTime( 0,0,0) ) ; - } - if ( to < from ) - to = from; - int secs = from.secsTo( to ); - event->setRecurrenceID( next ); - event->setDtStart( next ); - event->setDtDue( next.addSecs( secs ) ); - } - else { + if ( event->doesRecur() ) { + event->setRecurrenceID( event->dtStart().addSecs(-1) ); + event->setRecurDates(); + } else { event->setHasRecurrenceID( false ); - event->recurrence()->unsetRecurs(); } -#endif - } else - event->recurrence()->unsetRecurs(); + } else { + event->setHasRecurrenceID( false ); + event->recurrence()->unsetRecurs(); + } } bool KOTodoEditor::validateInput() { if (!mGeneral->validateInput()) return false; if (!mDetails->validateInput()) return false; |