-rw-r--r-- | libkcal/todo.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp index 3d2de61..7362bdf 100644 --- a/libkcal/todo.cpp +++ b/libkcal/todo.cpp @@ -275,33 +275,36 @@ QString Todo::statusStr() const return QString("DELEGATED"); break; } return QString(""); } #endif bool Todo::isCompleted() const { if (mPercentComplete == 100) return true; else return false; } void Todo::setCompleted(bool completed) { if (completed) mPercentComplete = 100; - else mPercentComplete = 0; + else { + mPercentComplete = 0; + mHasCompletedDate = false; + } updated(); } QDateTime Todo::completed() const { return mCompleted; } QString Todo::completedStr() const { return KGlobal::locale()->formatDateTime(mCompleted); } void Todo::setCompleted(const QDateTime &completed) { mHasCompletedDate = true; @@ -310,32 +313,34 @@ void Todo::setCompleted(const QDateTime &completed) updated(); } bool Todo::hasCompletedDate() const { return mHasCompletedDate; } int Todo::percentComplete() const { return mPercentComplete; } void Todo::setPercentComplete(int v) { mPercentComplete = v; + if ( v != 100 ) + mHasCompletedDate = false; updated(); } QDateTime Todo::getNextAlarmDateTime( bool * ok, int * offset ) const { if ( isCompleted() || ! hasDueDate() || cancelled() ) { *ok = false; return QDateTime (); } QDateTime incidenceStart; incidenceStart = dtDue(); bool enabled = false; Alarm* alarm; int off; QDateTime alarmStart = QDateTime::currentDateTime().addDays( 3650 );; // if ( QDateTime::currentDateTime() > incidenceStart ){ // *ok = false; |