From 7be6218eaf6bd29d4bc09d0bb79bb0dec6da9ae5 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 05 Feb 2005 13:29:28 +0000 Subject: comp fix --- (limited to 'korganizer') diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp index b9a028b..ce0d7a9 100644 --- a/korganizer/koeditorgeneraltodo.cpp +++ b/korganizer/koeditorgeneraltodo.cpp @@ -148,7 +148,21 @@ void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout) topLayout->addWidget(mCompletedCombo); mCompletedLabel = new QLabel(i18n("completed"),parent); - topLayout->addWidget(mCompletedLabel); + topLayout->addWidget(mCompletedLabel); + + mCompleteDateEdit = new KDateEdit(parent); + topLayout->addWidget(mCompleteDateEdit ); + + mCompleteTimeEdit = new KOTimeEdit(parent); + topLayout->addWidget( mCompleteTimeEdit); + + mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) ); + mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) ); + + if ( QApplication::desktop()->width() < 320 ) { + mCompleteDateEdit->setMaximumWidth( 85 ); + topLayout->setSpacing( 0 ); + } } void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) @@ -158,7 +172,6 @@ void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) topLayout->addWidget( h ); QLabel *priorityLabel = new QLabel(i18n("Priority:"), h); // topLayout->addWidget(priorityLabel); - mPriorityCombo = new QComboBox( h ); mPriorityCombo->insertItem(i18n("1 (high)")); mPriorityCombo->insertItem(i18n("2")); @@ -312,15 +325,24 @@ void KOEditorGeneralTodo::writeTodo(Todo *todo) tmpDT.setTime(tmpTime); todo->setDtStart(tmpDT); } - todo->setPriority(mPriorityCombo->currentItem()+1); // set completion state - todo->setPercentComplete(mCompletedCombo->currentItem() * 20); - - if (mCompletedCombo->currentItem() == 5 && mCompleted.isValid()) { - todo->setCompleted(mCompleted); + if ( mCompletedCombo->currentItem() == 5 ) { + QDateTime comp ( mCompleteDateEdit->date(), mCompleteTimeEdit->getTime() ); + if ( comp.isValid () ) { + todo->setPercentComplete(0); + todo->setPercentComplete(100); + todo->setCompleted(comp); + } else { + todo->setPercentComplete( 100 ); + if ( mCompleted.isValid() ) + todo->setCompleted(mCompleted); + } + } else { + todo->setPercentComplete(mCompletedCombo->currentItem() * 20); } + mSummaryEdit->save(KOLocationBox::SUMMARYTODO); } @@ -420,7 +442,8 @@ bool KOEditorGeneralTodo::validateInput() void KOEditorGeneralTodo::completedChanged(int index) { if (index == 5) { - mCompleted = QDateTime::currentDateTime(); + //get rid of milli sec + mCompleted = QDateTime::currentDateTime(); } setCompletedDate(); } @@ -428,10 +451,19 @@ void KOEditorGeneralTodo::completedChanged(int index) void KOEditorGeneralTodo::setCompletedDate() { if (mCompletedCombo->currentItem() == 5 && mCompleted.isValid()) { - mCompletedLabel->setText(i18n("completed on %1") - .arg(KGlobal::locale()->formatDateTime(mCompleted))); + if ( QApplication::desktop()->width() < 480 ) { + mCompletedLabel->setText(i18n(" on")); + } + else + mCompletedLabel->setText(i18n(" completed on ")); + mCompleteDateEdit->show(); + mCompleteTimeEdit->show(); + mCompleteTimeEdit->setTime( mCompleted.time() ); + mCompleteDateEdit->setDate( mCompleted.date() ); } else { mCompletedLabel->setText(i18n("completed")); + mCompleteDateEdit->hide(); + mCompleteTimeEdit->hide(); } } 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 friend class KOTodoEditor; KDateEdit *mStartDateEdit; KOTimeEdit *mStartTimeEdit; + KDateEdit *mCompleteDateEdit; + KOTimeEdit *mCompleteTimeEdit; QCheckBox *mTimeButton; QCheckBox *mDueCheck; KDateEdit *mDueDateEdit; -- cgit v0.9.0.2