-rw-r--r-- | libkcal/todo.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp index 7906046..19a7ffd 100644 --- a/libkcal/todo.cpp +++ b/libkcal/todo.cpp @@ -48,25 +48,25 @@ Todo::Todo(const Todo &t) : Incidence(t) mDtDue = t.mDtDue; mHasDueDate = t.mHasDueDate; mCompleted = t.mCompleted; mHasCompletedDate = t.mHasCompletedDate; mPercentComplete = t.mPercentComplete; mRunning = false; mRunSaveTimer = 0; } Todo::~Todo() { setRunning( false ); - qDebug("Todo::~Todo() "); + //qDebug("Todo::~Todo() "); } void Todo::setRunning( bool run ) { if ( run == mRunning ) return; if ( !mRunSaveTimer ) { mRunSaveTimer = new QTimer ( this ); connect ( mRunSaveTimer, SIGNAL( timeout() ), this , SLOT ( saveRunningInfoToFile() ) ); } mRunning = run; if ( mRunning ) { @@ -75,39 +75,41 @@ void Todo::setRunning( bool run ) } else { mRunSaveTimer->stop(); saveRunningInfoToFile(); } } void Todo::saveRunningInfoToFile() { qDebug("Todo::saveRunningInfoToFile() %s", summary().latin1()); QString dir = KGlobalSettings::timeTrackerDir(); qDebug("%s ", dir.latin1()); - QString file = "%1%2%3-%4%5%6-%7%8%9-"; - int runtime = mRunStart.secsTo( QDateTime::currentDateTime() ); - runtime = (runtime / 60) +1; - int h = runtime / 60; - int m = runtime % 60; - int d = h / 24; - h = h % 24; - file = file.arg( mRunStart.date().year(), 4).arg( mRunStart.date().month(),2 ).arg( mRunStart.date().day(), 2 ).arg( mRunStart.time().hour(),2 ).arg( mRunStart.time().minute(),2 ).arg( mRunStart.time().second(),2 ).arg( d,3 ).arg( h,2 ).arg( m,2 ); + QString file = "%1%2%3-%4%5%6-"; + file = file.arg( mRunStart.date().year(), 4).arg( mRunStart.date().month(),2 ).arg( mRunStart.date().day(), 2 ).arg( mRunStart.time().hour(),2 ).arg( mRunStart.time().minute(),2 ).arg( mRunStart.time().second(),2 ); file.replace ( QRegExp (" "), "0" ); - file = dir +"/" +file + uid()+".ics"; + file += uid(); qDebug("File %s ",file.latin1() ); CalendarLocal cal; cal.setTimeZoneId( " 00:00 Europe/London(UTC)" ); - cal.addIncidence( clone() ); + Todo * to = (Todo*) clone(); + to->setFloats( false ); + to->setDtStart( mRunStart ); + to->setHasStartDate( true ); + to->setDtDue( QDateTime::currentDateTime() ); + to->setHasDueDate( true ); + to->setUid( file ); + cal.addIncidence( to ); ICalFormat format; + file = dir +"/" +file +".ics"; format.save( &cal, file ); } int Todo::runTime() { if ( !mRunning ) return 0; return mRunStart.secsTo( QDateTime::currentDateTime() ); } bool Todo::hasRunningSub() { @@ -230,25 +232,24 @@ void Todo::setDtDue(const QDateTime &dtDue) for (Alarm* alarm = alarms.first(); alarm; alarm = alarms.next()) { if (alarm->enabled()) { alarm->setTime(alarm->time().addSecs(diffsecs)); } }*/ mDtDue = getEvenTime(dtDue); //kdDebug(5800) << "setDtDue says date is " << mDtDue.toString() << endl; /*const QPtrList<Alarm>& alarms = alarms(); for (Alarm* alarm = alarms.first(); alarm; alarm = alarms.next()) alarm->setAlarmStart(mDtDue);*/ - updated(); } QDateTime Todo::dtDue() const { return mDtDue; } QString Todo::dtDueTimeStr() const { return KGlobal::locale()->formatTime(mDtDue.time()); } |