author | zautrix <zautrix> | 2005-06-17 07:51:48 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-06-17 07:51:48 (UTC) |
commit | 825c34c11200f8ff0229cfb00b82b1880ef55b94 (patch) (side-by-side diff) | |
tree | 243df776d77afe55ca36ca8a78586a9e2fca1888 | |
parent | a04fff3ce192e0bebf9243a1fbedb97cf7108d2b (diff) | |
download | kdepimpi-825c34c11200f8ff0229cfb00b82b1880ef55b94.zip kdepimpi-825c34c11200f8ff0229cfb00b82b1880ef55b94.tar.gz kdepimpi-825c34c11200f8ff0229cfb00b82b1880ef55b94.tar.bz2 |
fixes
-rw-r--r-- | korganizer/kotodoview.cpp | 56 | ||||
-rw-r--r-- | korganizer/kotodoview.h | 18 | ||||
-rw-r--r-- | korganizer/kotodoviewitem.cpp | 2 | ||||
-rw-r--r-- | libkcal/todo.cpp | 10 | ||||
-rw-r--r-- | libkcal/todo.h | 1 |
5 files changed, 81 insertions, 6 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index b2ff33b..99e6a3a 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp @@ -26,4 +26,7 @@ #include <qcursor.h> #include <qwhatsthis.h> +#include <qdialog.h> +#include <qlabel.h> +#include <qpushbutton.h> #include <qinputdialog.h> @@ -59,4 +62,44 @@ using namespace KOrg; +KOStopTodoPrefs::KOStopTodoPrefs( Todo* todo, QWidget *parent, const char *name ) : + QDialog( parent, name, true ) +{ + mTodo = todo; + setCaption( i18n("Stop todo") ); + QVBoxLayout* lay = new QVBoxLayout( this ); + lay->setSpacing( 3 ); + lay->setMargin( 3 ); + QLabel * lab = new QLabel( i18n("%1\nis running!").arg( todo->summary() ), this ); + lay->addWidget( lab ); + lab->setAlignment( AlignHCenter ); + + QPushButton * ok = new QPushButton( i18n("Stop and save"), this ); + lay->addWidget( ok ); + QPushButton * cancel = new QPushButton( i18n("Continue running"), this ); + lay->addWidget( cancel ); + connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); + 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 ); +} + +void KOStopTodoPrefs::accept() +{ + qDebug("KOStopTodoPrefs::accept() "); + 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(); +} + + class KOTodoViewWhatsThis :public QWhatsThis { @@ -1128,9 +1171,11 @@ void KOTodoView::toggleRunningItem() Todo * t = mActiveItem->todo(); if ( t->isRunning() ) { -#if 0 - int result = KMessageBox::warningContinueCancel(this, - i18n("The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?").arg(mActiveItem->text(0).left( 25 ) ),i18n("Todo is started"),i18n("Stop todo"),i18n("Cancel"), true); -#endif + + KOStopTodoPrefs tp ( t, this ); + tp.exec(); + + +#if 0 int result = KMessageBox::warningYesNoCancel(this, i18n("The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?").arg(mActiveItem->text(0).left( 25 ) ),i18n("Todo is started"),i18n("Stop"),i18n("Stop+note")); @@ -1143,4 +1188,7 @@ void KOTodoView::toggleRunningItem() } mActiveItem->construct(); + + +#endif } else { int result = KMessageBox::warningContinueCancel(this, diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h index 1ffc34a..ceabdba 100644 --- a/korganizer/kotodoview.h +++ b/korganizer/kotodoview.h @@ -33,4 +33,6 @@ #include <qlabel.h> #include <qmap.h> +#include <qdialog.h> +#include <qlabel.h> #include <qlistview.h> #include <klistview.h> @@ -54,4 +56,20 @@ class KOTodoViewWhatsThis; class DocPrefs; + +class KOStopTodoPrefs : public QDialog +{ + Q_OBJECT + public: + KOStopTodoPrefs( Todo* todo, QWidget *parent=0, const char *name=0 ) ; + + +private slots: + void doNotSave(); + void accept(); +private: + Todo* mTodo; + +}; + class KOTodoListView : public KListView { diff --git a/korganizer/kotodoviewitem.cpp b/korganizer/kotodoviewitem.cpp index f62aab8..0cf6e4c 100644 --- a/korganizer/kotodoviewitem.cpp +++ b/korganizer/kotodoviewitem.cpp @@ -361,5 +361,5 @@ void KOTodoViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, i QColorGroup _cg = cg; QColorGroup::ColorRole role; - if ( KOPrefs::instance()->mTodoViewUsesForegroundColor ) + if ( KOPrefs::instance()->mTodoViewUsesForegroundColor && !mTodo->isRunning()) role = QColorGroup::Text; else diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp index e98af3c..d062492 100644 --- a/libkcal/todo.cpp +++ b/libkcal/todo.cpp @@ -70,4 +70,12 @@ void Todo::setRunningFalse( QString s ) saveRunningInfoToFile( s ); } +void Todo::stopRunning() +{ + if ( !mRunning ) + return; + if ( mRunSaveTimer ) + mRunSaveTimer->stop(); + mRunning = false; +} void Todo::setRunning( bool run ) { @@ -96,5 +104,5 @@ void Todo::saveRunningInfoToFile( QString comment ) { //qDebug("Todo::saveRunningInfoToFile() %s", summary().latin1()); - if ( mRunStart.secsTo ( QDateTime::currentDateTime() ) < 30 ) { + if ( mRunStart.secsTo ( QDateTime::currentDateTime() ) < 10 ) { qDebug("Running time < 30 seconds. Skipped. "); return; diff --git a/libkcal/todo.h b/libkcal/todo.h index 6fc4d4b..42db025 100644 --- a/libkcal/todo.h +++ b/libkcal/todo.h @@ -123,4 +123,5 @@ namespace KCal { void setRunning( bool ); void setRunningFalse( QString ); + void stopRunning(); int runTime(); QDateTime runStart () const { return mRunStart;} |