summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp9
-rw-r--r--libkcal/todo.cpp10
-rw-r--r--libkcal/todo.h2
3 files changed, 18 insertions, 3 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 99e6a3a..c5fae17 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -85,17 +85,24 @@ KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name
resize( 200, 200 );
}
void KOStopTodoPrefs::accept()
{
qDebug("KOStopTodoPrefs::accept() ");
+
+
+#if 0
+ t->setRunningFalse( comment );
+
+ t->setRunning( false );
+#endif
+
QDialog::accept();
}
void KOStopTodoPrefs::doNotSave()
{
-
int result = KMessageBox::warningContinueCancel(this,
i18n("Do you really want to set\nthe state to stopped\nwithout saving the data?"),mTodo->summary() );
if (result != KMessageBox::Continue) return;
mTodo->stopRunning();
QDialog::accept();
}
diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp
index d062492..62b74f1 100644
--- a/libkcal/todo.cpp
+++ b/libkcal/todo.cpp
@@ -92,15 +92,21 @@ void Todo::setRunning( bool run )
mRunStart = QDateTime::currentDateTime();
} else {
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 )
{
//qDebug("Todo::saveRunningInfoToFile() %s", summary().latin1());
if ( mRunStart.secsTo ( QDateTime::currentDateTime() ) < 10 ) {
@@ -117,13 +123,13 @@ void Todo::saveRunningInfoToFile( QString comment )
CalendarLocal cal;
cal.setLocalTime();
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();
if ( des.isEmpty () )
to->setDescription( "TT-Note: " + comment );
diff --git a/libkcal/todo.h b/libkcal/todo.h
index 42db025..11f848e 100644
--- a/libkcal/todo.h
+++ b/libkcal/todo.h
@@ -39,12 +39,13 @@ namespace KCal {
Todo();
Todo(const Todo &);
~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;
/** for setting the todo's due date/time with a QDateTime. */
@@ -130,12 +131,13 @@ namespace KCal {
void saveRunningInfoToFile( );
void saveParents();
private:
bool mRunning;
QTimer * mRunSaveTimer;
QDateTime mRunStart;
+ QDateTime mRunEnd;
bool accept(Visitor &v) { return v.visit(this); }
QDateTime mDtDue; // due date of todo
bool mHasDueDate; // if todo has associated due date