-rw-r--r-- | korganizer/koeditorgeneraltodo.cpp | 46 | ||||
-rw-r--r-- | korganizer/koeditorgeneraltodo.h | 2 |
2 files changed, 41 insertions, 7 deletions
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp index b9a028b..ce0d7a9 100644 --- a/korganizer/koeditorgeneraltodo.cpp +++ b/korganizer/koeditorgeneraltodo.cpp | |||
@@ -149,6 +149,20 @@ void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout) | |||
149 | 149 | ||
150 | mCompletedLabel = new QLabel(i18n("completed"),parent); | 150 | mCompletedLabel = new QLabel(i18n("completed"),parent); |
151 | topLayout->addWidget(mCompletedLabel); | 151 | topLayout->addWidget(mCompletedLabel); |
152 | |||
153 | mCompleteDateEdit = new KDateEdit(parent); | ||
154 | topLayout->addWidget(mCompleteDateEdit ); | ||
155 | |||
156 | mCompleteTimeEdit = new KOTimeEdit(parent); | ||
157 | topLayout->addWidget( mCompleteTimeEdit); | ||
158 | |||
159 | mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) ); | ||
160 | mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) ); | ||
161 | |||
162 | if ( QApplication::desktop()->width() < 320 ) { | ||
163 | mCompleteDateEdit->setMaximumWidth( 85 ); | ||
164 | topLayout->setSpacing( 0 ); | ||
165 | } | ||
152 | } | 166 | } |
153 | 167 | ||
154 | void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) | 168 | void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) |
@@ -158,7 +172,6 @@ void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) | |||
158 | topLayout->addWidget( h ); | 172 | topLayout->addWidget( h ); |
159 | QLabel *priorityLabel = new QLabel(i18n("Priority:"), h); | 173 | QLabel *priorityLabel = new QLabel(i18n("Priority:"), h); |
160 | // topLayout->addWidget(priorityLabel); | 174 | // topLayout->addWidget(priorityLabel); |
161 | |||
162 | mPriorityCombo = new QComboBox( h ); | 175 | mPriorityCombo = new QComboBox( h ); |
163 | mPriorityCombo->insertItem(i18n("1 (high)")); | 176 | mPriorityCombo->insertItem(i18n("1 (high)")); |
164 | mPriorityCombo->insertItem(i18n("2")); | 177 | mPriorityCombo->insertItem(i18n("2")); |
@@ -312,15 +325,24 @@ void KOEditorGeneralTodo::writeTodo(Todo *todo) | |||
312 | tmpDT.setTime(tmpTime); | 325 | tmpDT.setTime(tmpTime); |
313 | todo->setDtStart(tmpDT); | 326 | todo->setDtStart(tmpDT); |
314 | } | 327 | } |
315 | |||
316 | todo->setPriority(mPriorityCombo->currentItem()+1); | 328 | todo->setPriority(mPriorityCombo->currentItem()+1); |
317 | 329 | ||
318 | // set completion state | 330 | // set completion state |
319 | todo->setPercentComplete(mCompletedCombo->currentItem() * 20); | 331 | if ( mCompletedCombo->currentItem() == 5 ) { |
320 | 332 | QDateTime comp ( mCompleteDateEdit->date(), mCompleteTimeEdit->getTime() ); | |
321 | if (mCompletedCombo->currentItem() == 5 && mCompleted.isValid()) { | 333 | if ( comp.isValid () ) { |
334 | todo->setPercentComplete(0); | ||
335 | todo->setPercentComplete(100); | ||
336 | todo->setCompleted(comp); | ||
337 | } else { | ||
338 | todo->setPercentComplete( 100 ); | ||
339 | if ( mCompleted.isValid() ) | ||
322 | todo->setCompleted(mCompleted); | 340 | todo->setCompleted(mCompleted); |
323 | } | 341 | } |
342 | } else { | ||
343 | todo->setPercentComplete(mCompletedCombo->currentItem() * 20); | ||
344 | } | ||
345 | |||
324 | mSummaryEdit->save(KOLocationBox::SUMMARYTODO); | 346 | mSummaryEdit->save(KOLocationBox::SUMMARYTODO); |
325 | } | 347 | } |
326 | 348 | ||
@@ -420,6 +442,7 @@ bool KOEditorGeneralTodo::validateInput() | |||
420 | void KOEditorGeneralTodo::completedChanged(int index) | 442 | void KOEditorGeneralTodo::completedChanged(int index) |
421 | { | 443 | { |
422 | if (index == 5) { | 444 | if (index == 5) { |
445 | //get rid of milli sec | ||
423 | mCompleted = QDateTime::currentDateTime(); | 446 | mCompleted = QDateTime::currentDateTime(); |
424 | } | 447 | } |
425 | setCompletedDate(); | 448 | setCompletedDate(); |
@@ -428,10 +451,19 @@ void KOEditorGeneralTodo::completedChanged(int index) | |||
428 | void KOEditorGeneralTodo::setCompletedDate() | 451 | void KOEditorGeneralTodo::setCompletedDate() |
429 | { | 452 | { |
430 | if (mCompletedCombo->currentItem() == 5 && mCompleted.isValid()) { | 453 | if (mCompletedCombo->currentItem() == 5 && mCompleted.isValid()) { |
431 | mCompletedLabel->setText(i18n("completed on %1") | 454 | if ( QApplication::desktop()->width() < 480 ) { |
432 | .arg(KGlobal::locale()->formatDateTime(mCompleted))); | 455 | mCompletedLabel->setText(i18n(" on")); |
456 | } | ||
457 | else | ||
458 | mCompletedLabel->setText(i18n(" completed on ")); | ||
459 | mCompleteDateEdit->show(); | ||
460 | mCompleteTimeEdit->show(); | ||
461 | mCompleteTimeEdit->setTime( mCompleted.time() ); | ||
462 | mCompleteDateEdit->setDate( mCompleted.date() ); | ||
433 | } else { | 463 | } else { |
434 | mCompletedLabel->setText(i18n("completed")); | 464 | mCompletedLabel->setText(i18n("completed")); |
465 | mCompleteDateEdit->hide(); | ||
466 | mCompleteTimeEdit->hide(); | ||
435 | } | 467 | } |
436 | } | 468 | } |
437 | 469 | ||
diff --git a/korganizer/koeditorgeneraltodo.h b/korganizer/koeditorgeneraltodo.h index 5f1c3cc..98f43dd 100644 --- a/korganizer/koeditorgeneraltodo.h +++ b/korganizer/koeditorgeneraltodo.h | |||
@@ -88,6 +88,8 @@ class KOEditorGeneralTodo : public KOEditorGeneral | |||
88 | friend class KOTodoEditor; | 88 | friend class KOTodoEditor; |
89 | KDateEdit *mStartDateEdit; | 89 | KDateEdit *mStartDateEdit; |
90 | KOTimeEdit *mStartTimeEdit; | 90 | KOTimeEdit *mStartTimeEdit; |
91 | KDateEdit *mCompleteDateEdit; | ||
92 | KOTimeEdit *mCompleteTimeEdit; | ||
91 | QCheckBox *mTimeButton; | 93 | QCheckBox *mTimeButton; |
92 | QCheckBox *mDueCheck; | 94 | QCheckBox *mDueCheck; |
93 | KDateEdit *mDueDateEdit; | 95 | KDateEdit *mDueDateEdit; |