summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-05 13:29:28 (UTC)
committer zautrix <zautrix>2005-02-05 13:29:28 (UTC)
commit7be6218eaf6bd29d4bc09d0bb79bb0dec6da9ae5 (patch) (side-by-side diff)
tree468b1c9fa182e1be58e098c7c809afefe14a7b6c
parentf5902d0e08e0b10321c555e8846a8a8ce2087d30 (diff)
downloadkdepimpi-7be6218eaf6bd29d4bc09d0bb79bb0dec6da9ae5.zip
kdepimpi-7be6218eaf6bd29d4bc09d0bb79bb0dec6da9ae5.tar.gz
kdepimpi-7be6218eaf6bd29d4bc09d0bb79bb0dec6da9ae5.tar.bz2
comp fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt4
-rw-r--r--korganizer/koeditorgeneraltodo.cpp52
-rw-r--r--korganizer/koeditorgeneraltodo.h2
3 files changed, 46 insertions, 12 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 8f63d1c..b8080b5 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1195,30 +1195,30 @@
{ "Allday:","Ganztägig:" },
{ "compl.todos","erled.Todos" },
{ "Day view","Tagesansicht" },
{ "Next days","Nächste Tage" },
{ "Next week","Nächste Woche" },
{ "Next two weeks","Nächste zwei Wochen" },
{ "Next month","Nächster Monat" },
{ "Journal view","Journal" },
{ "Display all opened","Zeige alle geöffnet" },
{ "Display all closed","Zeige alle geschlossen" },
{ "Display all flat","Zeige alle flach" },
{ "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" },
{ "Default todo done color:","Standard Todo erledigt Farbe" },
{ "Select week %1-%2","Selektiere Woche %1-%2" },
{ "Select Week","Selektiere Woche" },
{ "Set alarm for selected...","Setze Alarm für Selekt..." },
{ "Set Alarm!","Setze Alarm!" },
{ "Canged alarm for %1 items","Alarm für %1 Items geändert" },
{ " and "," und " },
{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" },
{ "Mail to selected","Mail an Ausgewählte" },
{ "Mail to all","Mail an Alle" },
{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" },
{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" },
-{ "","" },
-{ "","" },
+{ " on"," am" },
+{ " completed on "," erledigt am " },
{ "","" },
{ "","" },
{ "","" },
{ "","" },
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp
index b9a028b..ce0d7a9 100644
--- a/korganizer/koeditorgeneraltodo.cpp
+++ b/korganizer/koeditorgeneraltodo.cpp
@@ -127,59 +127,72 @@ void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout)
// some more layouting
//layoutTimeBox->setColStretch(3,1);
}
void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout)
{
mCompletedCombo = new QComboBox(parent);
// xgettext:no-c-format
mCompletedCombo->insertItem(i18n(" 0 %"));
// xgettext:no-c-format
mCompletedCombo->insertItem(i18n(" 20 %"));
// xgettext:no-c-format
mCompletedCombo->insertItem(i18n(" 40 %"));
// xgettext:no-c-format
mCompletedCombo->insertItem(i18n(" 60 %"));
// xgettext:no-c-format
mCompletedCombo->insertItem(i18n(" 80 %"));
// 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)"));
//topLayout->addWidget(mPriorityCombo);
}
void KOEditorGeneralTodo::initStatus(QWidget *parent,QBoxLayout *topLayout)
{
QBoxLayout *statusLayout = new QHBoxLayout(topLayout);
initCompletion( parent, statusLayout );
statusLayout->addStretch( 1 );
initPriority( parent, statusLayout );
}
void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay)
{
mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
@@ -291,57 +304,66 @@ void KOEditorGeneralTodo::writeTodo(Todo *todo)
todo->setDtDue(tmpDT);
// set start date/time
tmpDate = mStartDateEdit->date();
tmpTime = mStartTimeEdit->getTime();
tmpDT.setDate(tmpDate);
tmpDT.setTime(tmpTime);
todo->setDtStart(tmpDT);
} else {
todo->setFloats(true);
// need to change this.
tmpDate = mDueDateEdit->date();
tmpTime.setHMS(0,0,0);
tmpDT.setDate(tmpDate);
tmpDT.setTime(tmpTime);
todo->setDtDue(tmpDT);
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 );
if(mDueCheck->isChecked() || mStartCheck->isChecked()) {
mTimeButton->setEnabled(true);
}
else {
mTimeButton->setEnabled(false);
mTimeButton->setChecked(false);
}
if (enable) {
mDueTimeEdit->setEnabled( mTimeButton->isChecked() );
} else {
mDueTimeEdit->setEnabled( false );
}
}
void KOEditorGeneralTodo::enableStartEdit( bool enable )
{
@@ -399,60 +421,70 @@ bool KOEditorGeneralTodo::validateInput()
}
if (mStartCheck->isChecked() && mDueCheck->isChecked()) {
QDateTime startDate;
QDateTime dueDate;
startDate.setDate(mStartDateEdit->date());
dueDate.setDate(mDueDateEdit->date());
if (mTimeButton->isChecked()) {
startDate.setTime(mStartTimeEdit->getTime());
dueDate.setTime(mDueTimeEdit->getTime());
}
if (startDate > dueDate) {
KMessageBox::sorry(0,
i18n("The start date cannot be after the due date."));
return false;
}
}
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) {
case KOGlobals::PRIORITY_MODIFIED:
mPriorityCombo->setCurrentItem(todo->priority()-1);
break;
case KOGlobals::COMPLETION_MODIFIED:
mCompletedCombo->setCurrentItem(todo->percentComplete() / 20);
if (todo->isCompleted() && todo->hasCompletedDate()) {
mCompleted = todo->completed();
}
setCompletedDate();
break;
case KOGlobals::CATEGORY_MODIFIED:
setCategories (todo->categoriesStr ());
break;
case KOGlobals::UNKNOWN_MODIFIED: // fall through
default:
readTodo( todo );
break;
}
diff --git a/korganizer/koeditorgeneraltodo.h b/korganizer/koeditorgeneraltodo.h
index 5f1c3cc..98f43dd 100644
--- a/korganizer/koeditorgeneraltodo.h
+++ b/korganizer/koeditorgeneraltodo.h
@@ -67,40 +67,42 @@ class KOEditorGeneralTodo : public KOEditorGeneral
/** Check if the input is valid. */
bool validateInput();
/** The todo has been modified externally */
void modified (Todo*, int);
signals:
void openCategoryDialog();
protected slots:
void completedChanged(int);
void enableDueEdit( bool enable );
void enableStartEdit( bool enable );
void enableTimeEdits( bool enable );
void showAlarm();
protected:
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;
QLabel *mPriorityLabel;
QComboBox *mPriorityCombo;
QCheckBox *mStartCheck;
QDateTime mCompleted;
};
#endif