-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 2 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 16 | ||||
-rw-r--r-- | korganizer/koeventviewer.cpp | 5 | ||||
-rw-r--r-- | korganizer/koeventviewerdialog.cpp | 1 | ||||
-rw-r--r-- | libkcal/kincidenceformatter.cpp | 16 | ||||
-rw-r--r-- | libkcal/todo.cpp | 7 |
6 files changed, 37 insertions, 10 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 0538511..eec0b38 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt @@ -1205,3 +1205,3 @@ { "Display all flat","Zeige alle flach" }, -{ "","" }, +{ "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" }, { "","" }, diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index e0a1a21..1864e22 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -1151,3 +1151,3 @@ void KOAgendaView::fillAgenda() - if ( ! todo->hasDueDate() ) continue; // todo shall not be displayed if it has no date + if ( ! todo->hasDueDate() && !todo->hasCompletedDate()) continue; // todo shall not be displayed if it has no date @@ -1158,5 +1158,5 @@ void KOAgendaView::fillAgenda() - if ( ((todo->dtDue().date() == currentDate) && !overdue) || + if ( ((todo->dtDue().date() == currentDate) && !overdue) || ( todo->hasCompletedDate() && todo->completed().date() == currentDate )|| ((currentDate == today) && overdue) ) { - if ( todo->doesFloat() || overdue ) { // Todo has no due-time set or is already overdue + if ( (todo->doesFloat() || overdue ) && !todo->hasCompletedDate() ) { // Todo has no due-time set or is already overdue if ( KOPrefs::instance()->mShowTodoInAgenda ) @@ -1165,4 +1165,10 @@ void KOAgendaView::fillAgenda() else { - - int endY = mAgenda->timeToY(todo->dtDue().time()) - 1; + QDateTime dt; + if ( todo->hasCompletedDate() ) + dt = todo->completed(); + else + dt = todo->dtDue();; + + + int endY = mAgenda->timeToY(dt.time()) - 1; int hi = (18/KOPrefs::instance()->mHourSize); diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 2f0fa9e..36a2947 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp @@ -381,4 +381,9 @@ void KOEventViewer::appendTodo(Todo *event, int mode ) + if ( event->percentComplete() == 100 && event->hasCompletedDate() ) { + mText.append(i18n("<p><i>Completed on %1</i></p>") + .arg( event->completedStr() )); + } else { mText.append(i18n("<p><i>%1 % completed</i></p>") .arg(event->percentComplete())); + } diff --git a/korganizer/koeventviewerdialog.cpp b/korganizer/koeventviewerdialog.cpp index 3979ed2..f6f7258 100644 --- a/korganizer/koeventviewerdialog.cpp +++ b/korganizer/koeventviewerdialog.cpp @@ -223,2 +223,3 @@ void KOEventViewerDialog::showIncidence() ((Todo*)mIncidence)->setCompleted( true ); + ((Todo*)mIncidence)->setCompleted(QDateTime::currentDateTime() ); hide(); diff --git a/libkcal/kincidenceformatter.cpp b/libkcal/kincidenceformatter.cpp index 2c45f21..c52f2b3 100644 --- a/libkcal/kincidenceformatter.cpp +++ b/libkcal/kincidenceformatter.cpp @@ -185,5 +185,11 @@ void KIncidenceFormatter::setTodo(Todo *event ) .arg(QString::number(event->priority()))); - + + if ( event->percentComplete() == 100 && event->hasCompletedDate() ) { + mText.append(i18n("<p><i>Completed on %1</i></p>") + .arg( event->completedStr() )); + } else { mText.append(i18n("<p><i>%1 % completed</i></p>") .arg(event->percentComplete())); + } + addTag("p",i18n("<b>Access: </b>") +event->secrecyStr() ); @@ -248,2 +254,3 @@ void KIncidenceFormatter::formatAttendees(Incidence *event) QString iconPath = KGlobal::iconLoader()->iconPath("mailappt",KIcon::Small); + QString NOiconPath = KGlobal::iconLoader()->iconPath("nomailappt",KIcon::Small); addTag("h3",i18n("Organizer")); @@ -308,4 +315,7 @@ void KIncidenceFormatter::formatAttendees(Incidence *event) if (iconPath) { - mText += "<a href=\"mailto:" + a->name() +" "+ "<" + a->email() + ">" + "\">"; - mText += "<IMG src=\"" + iconPath + "\">"; + mText += "<a href=\"mailto:" + a->name() +" "+ "<" + a->email() + ">" + "\">"; + if ( a->RSVP() ) + mText += "<IMG src=\"" + iconPath + "\">"; + else + mText += "<IMG src=\"" + NOiconPath + "\">"; mText += "</a>\n"; diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp index 3d2de61..7362bdf 100644 --- a/libkcal/todo.cpp +++ b/libkcal/todo.cpp @@ -290,3 +290,6 @@ void Todo::setCompleted(bool completed) if (completed) mPercentComplete = 100; - else mPercentComplete = 0; + else { + mPercentComplete = 0; + mHasCompletedDate = false; + } updated(); @@ -325,2 +328,4 @@ void Todo::setPercentComplete(int v) mPercentComplete = v; + if ( v != 100 ) + mHasCompletedDate = false; updated(); |