-rw-r--r-- | libkcal/todo.cpp | 10 | ||||
-rw-r--r-- | libkcal/todo.h | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp index d062492..62b74f1 100644 --- a/libkcal/todo.cpp +++ b/libkcal/todo.cpp @@ -94,11 +94,17 @@ void Todo::setRunning( bool run ) mRunSaveTimer->stop(); saveRunningInfoToFile(); } } - +void Todo::saveRunningInfo( QString comment, QDateTime start, QDateTime end ) +{ + mRunStart = start; + mRunEnd = end; + saveRunningInfoToFile( comment ); +} void Todo::saveRunningInfoToFile() { + mRunEnd = QDateTime::currentDateTime(); saveRunningInfoToFile( QString::null ); } void Todo::saveRunningInfoToFile( QString comment ) { @@ -119,9 +125,9 @@ void Todo::saveRunningInfoToFile( QString comment ) Todo * to = (Todo*) clone(); to->setFloats( false ); to->setDtStart( mRunStart ); to->setHasStartDate( true ); - to->setDtDue( QDateTime::currentDateTime() ); + to->setDtDue( mRunEnd ); to->setHasDueDate( true ); to->setUid( file ); if ( !comment.isEmpty() ) { QString des = to->description(); diff --git a/libkcal/todo.h b/libkcal/todo.h index 42db025..11f848e 100644 --- a/libkcal/todo.h +++ b/libkcal/todo.h @@ -41,8 +41,9 @@ namespace KCal { ~Todo(); typedef ListBase<Todo> List; QCString type() const { return "Todo"; } IncTypeID typeID() const { return todoID; } + void saveRunningInfo( QString comment, QDateTime start, QDateTime end ); /** Return an exact copy of this todo. */ Incidence *clone(); QDateTime getNextAlarmDateTime( bool * ok, int * offset, QDateTime start_dt ) const; @@ -132,8 +133,9 @@ namespace KCal { private: bool mRunning; QTimer * mRunSaveTimer; QDateTime mRunStart; + QDateTime mRunEnd; bool accept(Visitor &v) { return v.visit(this); } QDateTime mDtDue; // due date of todo |