author | zautrix <zautrix> | 2005-06-17 09:29:18 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-06-17 09:29:18 (UTC) |
commit | 160b471e4d254fd45dbbd161178de15a14163a0c (patch) (side-by-side diff) | |
tree | 149a5bf6ef1eb0399c46c928a53d31fa298ac383 | |
parent | cd71ce2dd43e4cca3b3da3f599616e7b1b6b8deb (diff) | |
download | kdepimpi-160b471e4d254fd45dbbd161178de15a14163a0c.zip kdepimpi-160b471e4d254fd45dbbd161178de15a14163a0c.tar.gz kdepimpi-160b471e4d254fd45dbbd161178de15a14163a0c.tar.bz2 |
fixxx
-rw-r--r-- | korganizer/kotodoview.cpp | 49 | ||||
-rw-r--r-- | korganizer/kotodoview.h | 5 | ||||
-rw-r--r-- | libkcal/todo.cpp | 2 | ||||
-rw-r--r-- | libkcal/todo.h | 2 |
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 @@ -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 diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp index 62b74f1..9a8b6e4 100644 --- a/libkcal/todo.cpp +++ b/libkcal/todo.cpp @@ -96,8 +96,10 @@ void Todo::setRunning( bool run ) } } void Todo::saveRunningInfo( QString comment, QDateTime start, QDateTime end ) { + if ( !mRunning) return; + mRunning = false; mRunStart = start; mRunEnd = end; saveRunningInfoToFile( comment ); } diff --git a/libkcal/todo.h b/libkcal/todo.h index 11f848e..425dfad 100644 --- a/libkcal/todo.h +++ b/libkcal/todo.h @@ -41,9 +41,8 @@ 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; @@ -125,8 +124,9 @@ namespace KCal { void setRunningFalse( QString ); void stopRunning(); int runTime(); QDateTime runStart () const { return mRunStart;} + void saveRunningInfo( QString comment, QDateTime start, QDateTime end ); public slots: void saveRunningInfoToFile( QString st ); void saveRunningInfoToFile( ); void saveParents(); |