-rw-r--r-- | korganizer/kotodoview.cpp | 49 | ||||
-rw-r--r-- | korganizer/kotodoview.h | 5 |
2 files changed, 42 insertions, 12 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index c5fae17..13e88ef 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp @@ -35,8 +35,10 @@ #include <kdebug.h> #include "koprefs.h" #include <klocale.h> #include <kglobal.h> +#include <kdateedit.h> +#include "ktimeedit.h" #include <kiconloader.h> #include <kmessagebox.h> #include <libkcal/icaldrag.h> @@ -71,9 +73,28 @@ KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name lay->setMargin( 3 ); QLabel * lab = new QLabel( i18n("%1\nis running!").arg( todo->summary() ), this ); 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 ); QPushButton * cancel = new QPushButton( i18n("Continue running"), this ); lay->addWidget( cancel ); @@ -81,22 +102,26 @@ KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); ok = new QPushButton( i18n("Stop - do not save"), this ); 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(); } void KOStopTodoPrefs::doNotSave() { @@ -1198,9 +1223,9 @@ void KOTodoView::toggleRunningItem() #endif } 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 ); mActiveItem->construct(); } diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h index ceabdba..8f0c99e 100644 --- a/korganizer/kotodoview.h +++ b/korganizer/kotodoview.h @@ -51,8 +51,10 @@ class QDragEnterEvent; class QDragMoveEvent; class QDragLeaveEvent; class QDropEvent; class KOTodoViewWhatsThis; +class KDateEdit; +class KOTimeEdit; class DocPrefs; @@ -67,8 +69,11 @@ private slots: void doNotSave(); void accept(); private: Todo* mTodo; + QLineEdit* mComment; + KDateEdit *sde, *ede; + KOTimeEdit *ste, *ete; }; class KOTodoListView : public KListView |