summaryrefslogtreecommitdiffabout
path: root/korganizer
Side-by-side diff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koeditorgeneraltodo.cpp52
-rw-r--r--korganizer/koeditorgeneraltodo.h2
2 files changed, 44 insertions, 10 deletions
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp
index b9a028b..ce0d7a9 100644
--- a/korganizer/koeditorgeneraltodo.cpp
+++ b/korganizer/koeditorgeneraltodo.cpp
@@ -145,23 +145,36 @@ void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout)
// xgettext:no-c-format
mCompletedCombo->insertItem(i18n("100 %"));
connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int)));
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)
{
QHBox* h = new QHBox ( parent );
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"));
mPriorityCombo->insertItem(i18n("3"));
mPriorityCombo->insertItem(i18n("4"));
mPriorityCombo->insertItem(i18n("5 (low)"));
@@ -309,21 +322,30 @@ void KOEditorGeneralTodo::writeTodo(Todo *todo)
tmpDate = mStartDateEdit->date();
tmpTime.setHMS(0,0,0);
tmpDT.setDate(tmpDate);
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);
}
void KOEditorGeneralTodo::enableDueEdit(bool enable)
{
mDueDateEdit->setEnabled( enable );
@@ -417,24 +439,34 @@ bool KOEditorGeneralTodo::validateInput()
return KOEditorGeneral::validateInput();
}
void KOEditorGeneralTodo::completedChanged(int index)
{
if (index == 5) {
- mCompleted = QDateTime::currentDateTime();
+ //get rid of milli sec
+ mCompleted = QDateTime::currentDateTime();
}
setCompletedDate();
}
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();
}
}
void KOEditorGeneralTodo::modified (Todo* todo, int modification)
{
switch (modification) {
diff --git a/korganizer/koeditorgeneraltodo.h b/korganizer/koeditorgeneraltodo.h
index 5f1c3cc..98f43dd 100644
--- a/korganizer/koeditorgeneraltodo.h
+++ b/korganizer/koeditorgeneraltodo.h
@@ -85,12 +85,14 @@ class KOEditorGeneralTodo : public KOEditorGeneral
void setCompletedDate();
private:
friend class KOTodoEditor;
KDateEdit *mStartDateEdit;
KOTimeEdit *mStartTimeEdit;
+ KDateEdit *mCompleteDateEdit;
+ KOTimeEdit *mCompleteTimeEdit;
QCheckBox *mTimeButton;
QCheckBox *mDueCheck;
KDateEdit *mDueDateEdit;
KOTimeEdit *mDueTimeEdit;
QComboBox *mCompletedCombo;
QLabel *mCompletedLabel;