summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp49
-rw-r--r--korganizer/kotodoview.h5
-rw-r--r--libkcal/todo.cpp2
-rw-r--r--libkcal/todo.h2
4 files changed, 45 insertions, 13 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index c5fae17..13e88ef 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -37,4 +37,6 @@
#include <klocale.h>
#include <kglobal.h>
+#include <kdateedit.h>
+#include "ktimeedit.h"
#include <kiconloader.h>
#include <kmessagebox.h>
@@ -73,5 +75,24 @@ KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name
lay->addWidget( lab );
lab->setAlignment( AlignHCenter );
-
+ lab = new QLabel( i18n("Additional Comment:"), this );
+ lay->addWidget( lab );
+ mComment = new QLineEdit( this );
+ lay->addWidget( mComment );
+ QHBox * start = new QHBox ( this );
+ lay->addWidget( start );
+ lab = new QLabel( i18n("Start:"), start );
+ QHBox * end = new QHBox ( this );
+ lay->addWidget( end );
+ lab = new QLabel( i18n("End:"), end );
+ sde = new KDateEdit( start );
+ ste = new KOTimeEdit( start );
+ connect ( sde,SIGNAL(setTimeTo( QTime ) ),ste , SLOT ( setTime(QTime ) ) );
+ ede = new KDateEdit( end );
+ ete = new KOTimeEdit(end );
+ connect ( ede,SIGNAL(setTimeTo( QTime ) ),ete , SLOT ( setTime(QTime ) ) );
+ sde->setDate( mTodo->runStart().date() );
+ ste->setTime( mTodo->runStart().time() );
+ ede->setDate( QDate::currentDate());
+ ete->setTime( QTime::currentTime() );
QPushButton * ok = new QPushButton( i18n("Stop and save"), this );
lay->addWidget( ok );
@@ -83,18 +104,22 @@ KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name
connect ( ok,SIGNAL(clicked() ),this , SLOT ( doNotSave() ) );
lay->addWidget( ok );
- resize( 200, 200 );
+ if (QApplication::desktop()->width() < 320 )
+ resize( 240, 200 );
+ else
+ resize( 320, 200 );
+
}
void KOStopTodoPrefs::accept()
{
- qDebug("KOStopTodoPrefs::accept() ");
-
-
-#if 0
- t->setRunningFalse( comment );
-
- t->setRunning( false );
-#endif
-
+ QDateTime start = QDateTime( sde->date(), ste->getTime() );
+ QDateTime stop = QDateTime( ede->date(), ete->getTime() );
+ if ( start > stop ) {
+ KMessageBox::sorry(this,
+ i18n("The start time is\nafter the end time!"),
+ i18n("Time mismatch!"));
+ return;
+ }
+ mTodo->saveRunningInfo( mComment->text(), start, stop );
QDialog::accept();
}
@@ -1200,5 +1225,5 @@ void KOTodoView::toggleRunningItem()
} else {
int result = KMessageBox::warningContinueCancel(this,
- i18n("The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?").arg(mActiveItem->text(0).left( 25 ) ),i18n("Todo is stopped"),i18n("Start todo"),i18n("Cancel"), true);
+ i18n("<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>").arg(mActiveItem->text(0).left( 25 ) ),i18n("Start todo"),i18n("Start todo"),i18n("Cancel"), true);
if (result != KMessageBox::Continue) return;
t->setRunning( true );
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h
index ceabdba..8f0c99e 100644
--- a/korganizer/kotodoview.h
+++ b/korganizer/kotodoview.h
@@ -53,4 +53,6 @@ class QDragLeaveEvent;
class QDropEvent;
class KOTodoViewWhatsThis;
+class KDateEdit;
+class KOTimeEdit;
class DocPrefs;
@@ -69,4 +71,7 @@ private slots:
private:
Todo* mTodo;
+ QLineEdit* mComment;
+ KDateEdit *sde, *ede;
+ KOTimeEdit *ste, *ete;
};
diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp
index 62b74f1..9a8b6e4 100644
--- a/libkcal/todo.cpp
+++ b/libkcal/todo.cpp
@@ -98,4 +98,6 @@ void Todo::setRunning( bool run )
void Todo::saveRunningInfo( QString comment, QDateTime start, QDateTime end )
{
+ if ( !mRunning) return;
+ mRunning = false;
mRunStart = start;
mRunEnd = end;
diff --git a/libkcal/todo.h b/libkcal/todo.h
index 11f848e..425dfad 100644
--- a/libkcal/todo.h
+++ b/libkcal/todo.h
@@ -43,5 +43,4 @@ namespace KCal {
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. */
@@ -127,4 +126,5 @@ namespace KCal {
int runTime();
QDateTime runStart () const { return mRunStart;}
+ void saveRunningInfo( QString comment, QDateTime start, QDateTime end );
public slots:
void saveRunningInfoToFile( QString st );