summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-02-07 06:16:24 (UTC)
committer zautrix <zautrix>2005-02-07 06:16:24 (UTC)
commit363a0e27d630452762e76131b4606e14a3231f01 (patch) (unidiff)
tree11f423fbb1b29ad8315f2178d0a6ce20d7a36e7f /korganizer
parent301a4a207171549bd87815705d8dcf32ad15559d (diff)
downloadkdepimpi-363a0e27d630452762e76131b4606e14a3231f01.zip
kdepimpi-363a0e27d630452762e76131b4606e14a3231f01.tar.gz
kdepimpi-363a0e27d630452762e76131b4606e14a3231f01.tar.bz2
another fix
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koeditorgeneraltodo.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp
index da5ef07..6370b54 100644
--- a/korganizer/koeditorgeneraltodo.cpp
+++ b/korganizer/koeditorgeneraltodo.cpp
@@ -44,452 +44,454 @@
44 44
45#include <libkdepim/kdateedit.h> 45#include <libkdepim/kdateedit.h>
46 46
47#include "koprefs.h" 47#include "koprefs.h"
48#include "ktimeedit.h" 48#include "ktimeedit.h"
49 49
50#include "koeditorgeneraltodo.h" 50#include "koeditorgeneraltodo.h"
51#include "kolocationbox.h" 51#include "kolocationbox.h"
52 52
53KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent, 53KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent,
54 const char* name) 54 const char* name)
55 : KOEditorGeneral( parent, name) 55 : KOEditorGeneral( parent, name)
56{ 56{
57} 57}
58 58
59KOEditorGeneralTodo::~KOEditorGeneralTodo() 59KOEditorGeneralTodo::~KOEditorGeneralTodo()
60{ 60{
61} 61}
62 62
63void KOEditorGeneralTodo::finishSetup() 63void KOEditorGeneralTodo::finishSetup()
64{ 64{
65 65
66// QWidget::setTabOrder(mSummaryEdit, mLocationEdit); 66// QWidget::setTabOrder(mSummaryEdit, mLocationEdit);
67// QWidget::setTabOrder(mLocationEdit, mDueCheck); 67// QWidget::setTabOrder(mLocationEdit, mDueCheck);
68// QWidget::setTabOrder(mDueCheck, mDueDateEdit); 68// QWidget::setTabOrder(mDueCheck, mDueDateEdit);
69// QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit); 69// QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit);
70// QWidget::setTabOrder(mDueTimeEdit, mStartCheck); 70// QWidget::setTabOrder(mDueTimeEdit, mStartCheck);
71// QWidget::setTabOrder(mStartCheck, mStartDateEdit); 71// QWidget::setTabOrder(mStartCheck, mStartDateEdit);
72// QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit); 72// QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit);
73// QWidget::setTabOrder(mStartTimeEdit, mTimeButton); 73// QWidget::setTabOrder(mStartTimeEdit, mTimeButton);
74// QWidget::setTabOrder(mTimeButton, mCompletedCombo); 74// QWidget::setTabOrder(mTimeButton, mCompletedCombo);
75// QWidget::setTabOrder(mCompletedCombo, mPriorityCombo); 75// QWidget::setTabOrder(mCompletedCombo, mPriorityCombo);
76// QWidget::setTabOrder(mPriorityCombo, mAlarmButton); 76// QWidget::setTabOrder(mPriorityCombo, mAlarmButton);
77// QWidget::setTabOrder(mAlarmButton, mCategoriesButton); 77// QWidget::setTabOrder(mAlarmButton, mCategoriesButton);
78// QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo); 78// QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo);
79// QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit); 79// QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit);
80 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 80 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
81 mSummaryEdit->setFocus(); 81 mSummaryEdit->setFocus();
82} 82}
83 83
84void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout) 84void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout)
85{ 85{
86 QBoxLayout *timeLayout = new QVBoxLayout(topLayout); 86 QBoxLayout *timeLayout = new QVBoxLayout(topLayout);
87 87
88 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, 88 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal,
89 i18n("Date && Time"),parent); 89 i18n("Date && Time"),parent);
90 timeLayout->addWidget(timeGroupBox); 90 timeLayout->addWidget(timeGroupBox);
91 timeGroupBox->layout()->setSpacing( 0 ); 91 timeGroupBox->layout()->setSpacing( 0 );
92 timeGroupBox->layout()->setMargin( 5 ); 92 timeGroupBox->layout()->setMargin( 5 );
93 QFrame *timeBoxFrame = new QFrame(timeGroupBox); 93 QFrame *timeBoxFrame = new QFrame(timeGroupBox);
94 94
95 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3); 95 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3);
96 layoutTimeBox->setSpacing(topLayout->spacing()); 96 layoutTimeBox->setSpacing(topLayout->spacing());
97 layoutTimeBox->setColStretch( 1, 1 ); 97 layoutTimeBox->setColStretch( 1, 1 );
98 98
99 mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame); 99 mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame);
100 layoutTimeBox->addWidget(mDueCheck,0,0); 100 layoutTimeBox->addWidget(mDueCheck,0,0);
101 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool))); 101 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool)));
102 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm())); 102 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm()));
103 103
104 104
105 mDueDateEdit = new KDateEdit(timeBoxFrame); 105 mDueDateEdit = new KDateEdit(timeBoxFrame);
106 layoutTimeBox->addWidget(mDueDateEdit,0,1); 106 layoutTimeBox->addWidget(mDueDateEdit,0,1);
107 107
108 mDueTimeEdit = new KOTimeEdit(timeBoxFrame); 108 mDueTimeEdit = new KOTimeEdit(timeBoxFrame);
109 layoutTimeBox->addWidget(mDueTimeEdit,0,2); 109 layoutTimeBox->addWidget(mDueTimeEdit,0,2);
110 110
111 111
112 mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame); 112 mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame);
113 layoutTimeBox->addWidget(mStartCheck,1,0); 113 layoutTimeBox->addWidget(mStartCheck,1,0);
114 connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool))); 114 connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool)));
115 115
116 mStartDateEdit = new KDateEdit(timeBoxFrame); 116 mStartDateEdit = new KDateEdit(timeBoxFrame);
117 layoutTimeBox->addWidget(mStartDateEdit,1,1); 117 layoutTimeBox->addWidget(mStartDateEdit,1,1);
118 118
119 mStartTimeEdit = new KOTimeEdit(timeBoxFrame); 119 mStartTimeEdit = new KOTimeEdit(timeBoxFrame);
120 layoutTimeBox->addWidget(mStartTimeEdit,1,2); 120 layoutTimeBox->addWidget(mStartTimeEdit,1,2);
121 121
122 122
123 mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame); 123 mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame);
124 layoutTimeBox->addMultiCellWidget(mTimeButton,2,2,0,1); 124 layoutTimeBox->addMultiCellWidget(mTimeButton,2,2,0,1);
125 125
126 connect(mTimeButton,SIGNAL(toggled(bool)),SLOT(enableTimeEdits(bool))); 126 connect(mTimeButton,SIGNAL(toggled(bool)),SLOT(enableTimeEdits(bool)));
127 127
128 // some more layouting 128 // some more layouting
129 //layoutTimeBox->setColStretch(3,1); 129 //layoutTimeBox->setColStretch(3,1);
130} 130}
131 131
132 132
133void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout) 133void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout)
134{ 134{
135 mCompletedCombo = new QComboBox(parent); 135 mCompletedCombo = new QComboBox(parent);
136 // xgettext:no-c-format 136 // xgettext:no-c-format
137 mCompletedCombo->insertItem(i18n(" 0 %")); 137 mCompletedCombo->insertItem(i18n(" 0 %"));
138 // xgettext:no-c-format 138 // xgettext:no-c-format
139 mCompletedCombo->insertItem(i18n(" 20 %")); 139 mCompletedCombo->insertItem(i18n(" 20 %"));
140 // xgettext:no-c-format 140 // xgettext:no-c-format
141 mCompletedCombo->insertItem(i18n(" 40 %")); 141 mCompletedCombo->insertItem(i18n(" 40 %"));
142 // xgettext:no-c-format 142 // xgettext:no-c-format
143 mCompletedCombo->insertItem(i18n(" 60 %")); 143 mCompletedCombo->insertItem(i18n(" 60 %"));
144 // xgettext:no-c-format 144 // xgettext:no-c-format
145 mCompletedCombo->insertItem(i18n(" 80 %")); 145 mCompletedCombo->insertItem(i18n(" 80 %"));
146 // xgettext:no-c-format 146 // xgettext:no-c-format
147 mCompletedCombo->insertItem(i18n("100 %")); 147 mCompletedCombo->insertItem(i18n("100 %"));
148 connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int))); 148 connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int)));
149 topLayout->addWidget(mCompletedCombo); 149 topLayout->addWidget(mCompletedCombo);
150 150
151 mCompletedLabel = new QLabel(i18n("completed"),parent); 151 mCompletedLabel = new QLabel(i18n("completed"),parent);
152 topLayout->addWidget(mCompletedLabel); 152 topLayout->addWidget(mCompletedLabel);
153 153
154 mCompleteDateEdit = new KDateEdit(parent); 154 mCompleteDateEdit = new KDateEdit(parent);
155 topLayout->addWidget(mCompleteDateEdit ); 155 topLayout->addWidget(mCompleteDateEdit );
156 156
157 mCompleteTimeEdit = new KOTimeEdit(parent); 157 mCompleteTimeEdit = new KOTimeEdit(parent);
158 topLayout->addWidget( mCompleteTimeEdit); 158 topLayout->addWidget( mCompleteTimeEdit);
159 159
160 mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) ); 160 mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) );
161 mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) ); 161 mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) );
162 162
163 if ( QApplication::desktop()->width() <= 480 ) { 163 if ( QApplication::desktop()->width() <= 480 ) {
164 if ( QApplication::desktop()->width() < 320 ) 164 if ( QApplication::desktop()->width() < 320 )
165 mCompleteDateEdit->setMaximumWidth( 85 ); 165 mCompleteDateEdit->setMaximumWidth( 85 );
166 else 166 else
167 mCompleteDateEdit->setMaximumWidth( 140 ); 167 mCompleteDateEdit->setMaximumWidth( 140 );
168 topLayout->setSpacing( 0 ); 168 topLayout->setSpacing( 0 );
169 } 169 }
170} 170}
171 171
172void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) 172void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout)
173{ 173{
174 174
175 QHBox* h = new QHBox ( parent ); 175 QHBox* h = new QHBox ( parent );
176 topLayout->addWidget( h ); 176 topLayout->addWidget( h );
177 QLabel *priorityLabel = new QLabel(i18n("Priority:"), h); 177 QLabel *priorityLabel = new QLabel(i18n("Priority:"), h);
178 // topLayout->addWidget(priorityLabel); 178 // topLayout->addWidget(priorityLabel);
179 mPriorityCombo = new QComboBox( h ); 179 mPriorityCombo = new QComboBox( h );
180 mPriorityCombo->insertItem(i18n("1 (high)")); 180 mPriorityCombo->insertItem(i18n("1 (high)"));
181 mPriorityCombo->insertItem(i18n("2")); 181 mPriorityCombo->insertItem(i18n("2"));
182 mPriorityCombo->insertItem(i18n("3")); 182 mPriorityCombo->insertItem(i18n("3"));
183 mPriorityCombo->insertItem(i18n("4")); 183 mPriorityCombo->insertItem(i18n("4"));
184 mPriorityCombo->insertItem(i18n("5 (low)")); 184 mPriorityCombo->insertItem(i18n("5 (low)"));
185 //topLayout->addWidget(mPriorityCombo); 185 //topLayout->addWidget(mPriorityCombo);
186} 186}
187 187
188void KOEditorGeneralTodo::initStatus(QWidget *parent,QBoxLayout *topLayout) 188void KOEditorGeneralTodo::initStatus(QWidget *parent,QBoxLayout *topLayout)
189{ 189{
190 QBoxLayout *statusLayout = new QHBoxLayout(topLayout); 190 QBoxLayout *statusLayout = new QHBoxLayout(topLayout);
191 191
192 initCompletion( parent, statusLayout ); 192 initCompletion( parent, statusLayout );
193 193
194 statusLayout->addStretch( 1 ); 194 statusLayout->addStretch( 1 );
195 195
196 initPriority( parent, statusLayout ); 196 initPriority( parent, statusLayout );
197} 197}
198 198
199void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay) 199void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay)
200{ 200{
201 201
202 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 202 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
203 mLocationEdit->load(KOLocationBox::LOCATION); 203 mLocationEdit->load(KOLocationBox::LOCATION);
204 KOEditorGeneral::setDefaults(allDay); 204 KOEditorGeneral::setDefaults(allDay);
205 205
206 mTimeButton->setChecked( !allDay ); 206 mTimeButton->setChecked( !allDay );
207 if(mTimeButton->isChecked()) { 207 if(mTimeButton->isChecked()) {
208 mTimeButton->setEnabled(true); 208 mTimeButton->setEnabled(true);
209 } 209 }
210 else { 210 else {
211 mTimeButton->setEnabled(false); 211 mTimeButton->setEnabled(false);
212 } 212 }
213 213
214 enableTimeEdits( !allDay ); 214 enableTimeEdits( !allDay );
215 if ( due.isValid() ) { 215 if ( due.isValid() ) {
216 mDueCheck->setChecked(true); 216 mDueCheck->setChecked(true);
217 enableDueEdit(true); 217 enableDueEdit(true);
218 } else { 218 } else {
219 mDueCheck->setChecked(false); 219 mDueCheck->setChecked(false);
220 enableDueEdit(false); 220 enableDueEdit(false);
221 due = QDateTime::currentDateTime().addDays(7); 221 due = QDateTime::currentDateTime().addDays(7);
222 } 222 }
223 223
224 alarmDisable(true); 224 alarmDisable(true);
225 225
226 mStartCheck->setChecked(false); 226 mStartCheck->setChecked(false);
227 enableStartEdit(false); 227 enableStartEdit(false);
228 228
229 mDueDateEdit->setDate(due.date()); 229 mDueDateEdit->setDate(due.date());
230 mDueTimeEdit->setTime(due.time()); 230 mDueTimeEdit->setTime(due.time());
231 due = due.addDays(-7); 231 due = due.addDays(-7);
232 mStartDateEdit->setDate(due.date()); 232 mStartDateEdit->setDate(due.date());
233 mStartTimeEdit->setTime(due.time()); 233 mStartTimeEdit->setTime(due.time());
234 234
235 mPriorityCombo->setCurrentItem(2); 235 mPriorityCombo->setCurrentItem(2);
236 mCompletedLabel->setText(i18n("completed"));; 236 mCompletedLabel->setText(i18n(" completed"));;
237 mCompletedCombo->setCurrentItem(0); 237 mCompletedCombo->setCurrentItem(0);
238 mCompleteDateEdit->hide();
239 mCompleteTimeEdit->hide();
238} 240}
239 241
240void KOEditorGeneralTodo::readTodo(Todo *todo) 242void KOEditorGeneralTodo::readTodo(Todo *todo)
241{ 243{
242 244
243 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 245 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
244 mLocationEdit->load(KOLocationBox::LOCATION); 246 mLocationEdit->load(KOLocationBox::LOCATION);
245 KOEditorGeneral::readIncidence(todo); 247 KOEditorGeneral::readIncidence(todo);
246 248
247 QDateTime dueDT; 249 QDateTime dueDT;
248 250
249 if (todo->hasDueDate()) { 251 if (todo->hasDueDate()) {
250 enableAlarmEdit(true); 252 enableAlarmEdit(true);
251 dueDT = todo->dtDue(); 253 dueDT = todo->dtDue();
252 mDueDateEdit->setDate(todo->dtDue().date()); 254 mDueDateEdit->setDate(todo->dtDue().date());
253 mDueTimeEdit->setTime(todo->dtDue().time()); 255 mDueTimeEdit->setTime(todo->dtDue().time());
254 mDueCheck->setChecked(true); 256 mDueCheck->setChecked(true);
255 } else { 257 } else {
256 alarmDisable(true); 258 alarmDisable(true);
257 mDueDateEdit->setEnabled(false); 259 mDueDateEdit->setEnabled(false);
258 mDueTimeEdit->setEnabled(false); 260 mDueTimeEdit->setEnabled(false);
259 mDueDateEdit->setDate(QDate::currentDate()); 261 mDueDateEdit->setDate(QDate::currentDate());
260 mDueTimeEdit->setTime(QTime::currentTime()); 262 mDueTimeEdit->setTime(QTime::currentTime());
261 mDueCheck->setChecked(false); 263 mDueCheck->setChecked(false);
262 } 264 }
263 265
264 if (todo->hasStartDate()) { 266 if (todo->hasStartDate()) {
265 mStartDateEdit->setDate(todo->dtStart().date()); 267 mStartDateEdit->setDate(todo->dtStart().date());
266 mStartTimeEdit->setTime(todo->dtStart().time()); 268 mStartTimeEdit->setTime(todo->dtStart().time());
267 mStartCheck->setChecked(true); 269 mStartCheck->setChecked(true);
268 } else { 270 } else {
269 mStartDateEdit->setEnabled(false); 271 mStartDateEdit->setEnabled(false);
270 mStartTimeEdit->setEnabled(false); 272 mStartTimeEdit->setEnabled(false);
271 mStartDateEdit->setDate(QDate::currentDate()); 273 mStartDateEdit->setDate(QDate::currentDate());
272 mStartTimeEdit->setTime(QTime::currentTime()); 274 mStartTimeEdit->setTime(QTime::currentTime());
273 mStartCheck->setChecked(false); 275 mStartCheck->setChecked(false);
274 } 276 }
275 277
276 mTimeButton->setChecked( !todo->doesFloat() ); 278 mTimeButton->setChecked( !todo->doesFloat() );
277 279
278 mCompletedCombo->setCurrentItem(todo->percentComplete() / 20); 280 mCompletedCombo->setCurrentItem(todo->percentComplete() / 20);
279 if (todo->isCompleted() && todo->hasCompletedDate()) { 281 if (todo->isCompleted() && todo->hasCompletedDate()) {
280 mCompleted = todo->completed(); 282 mCompleted = todo->completed();
281 } 283 }
282 setCompletedDate(); 284 setCompletedDate();
283 285
284 mPriorityCombo->setCurrentItem(todo->priority()-1); 286 mPriorityCombo->setCurrentItem(todo->priority()-1);
285} 287}
286 288
287void KOEditorGeneralTodo::writeTodo(Todo *todo) 289void KOEditorGeneralTodo::writeTodo(Todo *todo)
288{ 290{
289 KOEditorGeneral::writeIncidence(todo); 291 KOEditorGeneral::writeIncidence(todo);
290 292
291 // temp. until something better happens. 293 // temp. until something better happens.
292 QString tmpStr; 294 QString tmpStr;
293 295
294 todo->setHasDueDate(mDueCheck->isChecked()); 296 todo->setHasDueDate(mDueCheck->isChecked());
295 todo->setHasStartDate(mStartCheck->isChecked()); 297 todo->setHasStartDate(mStartCheck->isChecked());
296 298
297 QDate tmpDate; 299 QDate tmpDate;
298 QTime tmpTime; 300 QTime tmpTime;
299 QDateTime tmpDT; 301 QDateTime tmpDT;
300 if ( mTimeButton->isChecked() ) { 302 if ( mTimeButton->isChecked() ) {
301 todo->setFloats(false); 303 todo->setFloats(false);
302 304
303 // set due date/time 305 // set due date/time
304 tmpDate = mDueDateEdit->date(); 306 tmpDate = mDueDateEdit->date();
305 tmpTime = mDueTimeEdit->getTime(); 307 tmpTime = mDueTimeEdit->getTime();
306 tmpDT.setDate(tmpDate); 308 tmpDT.setDate(tmpDate);
307 tmpDT.setTime(tmpTime); 309 tmpDT.setTime(tmpTime);
308 todo->setDtDue(tmpDT); 310 todo->setDtDue(tmpDT);
309 311
310 // set start date/time 312 // set start date/time
311 tmpDate = mStartDateEdit->date(); 313 tmpDate = mStartDateEdit->date();
312 tmpTime = mStartTimeEdit->getTime(); 314 tmpTime = mStartTimeEdit->getTime();
313 tmpDT.setDate(tmpDate); 315 tmpDT.setDate(tmpDate);
314 tmpDT.setTime(tmpTime); 316 tmpDT.setTime(tmpTime);
315 todo->setDtStart(tmpDT); 317 todo->setDtStart(tmpDT);
316 } else { 318 } else {
317 todo->setFloats(true); 319 todo->setFloats(true);
318 320
319 // need to change this. 321 // need to change this.
320 tmpDate = mDueDateEdit->date(); 322 tmpDate = mDueDateEdit->date();
321 tmpTime.setHMS(0,0,0); 323 tmpTime.setHMS(0,0,0);
322 tmpDT.setDate(tmpDate); 324 tmpDT.setDate(tmpDate);
323 tmpDT.setTime(tmpTime); 325 tmpDT.setTime(tmpTime);
324 todo->setDtDue(tmpDT); 326 todo->setDtDue(tmpDT);
325 327
326 tmpDate = mStartDateEdit->date(); 328 tmpDate = mStartDateEdit->date();
327 tmpTime.setHMS(0,0,0); 329 tmpTime.setHMS(0,0,0);
328 tmpDT.setDate(tmpDate); 330 tmpDT.setDate(tmpDate);
329 tmpDT.setTime(tmpTime); 331 tmpDT.setTime(tmpTime);
330 todo->setDtStart(tmpDT); 332 todo->setDtStart(tmpDT);
331 } 333 }
332 todo->setPriority(mPriorityCombo->currentItem()+1); 334 todo->setPriority(mPriorityCombo->currentItem()+1);
333 335
334 // set completion state 336 // set completion state
335 if ( mCompletedCombo->currentItem() == 5 ) { 337 if ( mCompletedCombo->currentItem() == 5 ) {
336 QDateTime comp ( mCompleteDateEdit->date(), mCompleteTimeEdit->getTime() ); 338 QDateTime comp ( mCompleteDateEdit->date(), mCompleteTimeEdit->getTime() );
337 if ( comp.isValid () ) { 339 if ( comp.isValid () ) {
338 todo->setPercentComplete(0); 340 todo->setPercentComplete(0);
339 todo->setPercentComplete(100); 341 todo->setPercentComplete(100);
340 todo->setCompleted(comp); 342 todo->setCompleted(comp);
341 } else { 343 } else {
342 todo->setPercentComplete( 100 ); 344 todo->setPercentComplete( 100 );
343 if ( mCompleted.isValid() ) 345 if ( mCompleted.isValid() )
344 todo->setCompleted(mCompleted); 346 todo->setCompleted(mCompleted);
345 } 347 }
346 } else { 348 } else {
347 todo->setPercentComplete(mCompletedCombo->currentItem() * 20); 349 todo->setPercentComplete(mCompletedCombo->currentItem() * 20);
348 } 350 }
349 351
350 mSummaryEdit->save(KOLocationBox::SUMMARYTODO); 352 mSummaryEdit->save(KOLocationBox::SUMMARYTODO);
351} 353}
352 354
353void KOEditorGeneralTodo::enableDueEdit(bool enable) 355void KOEditorGeneralTodo::enableDueEdit(bool enable)
354{ 356{
355 mDueDateEdit->setEnabled( enable ); 357 mDueDateEdit->setEnabled( enable );
356 358
357 if(mDueCheck->isChecked() || mStartCheck->isChecked()) { 359 if(mDueCheck->isChecked() || mStartCheck->isChecked()) {
358 mTimeButton->setEnabled(true); 360 mTimeButton->setEnabled(true);
359 } 361 }
360 else { 362 else {
361 mTimeButton->setEnabled(false); 363 mTimeButton->setEnabled(false);
362 mTimeButton->setChecked(false); 364 mTimeButton->setChecked(false);
363 } 365 }
364 366
365 if (enable) { 367 if (enable) {
366 mDueTimeEdit->setEnabled( mTimeButton->isChecked() ); 368 mDueTimeEdit->setEnabled( mTimeButton->isChecked() );
367 } else { 369 } else {
368 mDueTimeEdit->setEnabled( false ); 370 mDueTimeEdit->setEnabled( false );
369 } 371 }
370} 372}
371 373
372void KOEditorGeneralTodo::enableStartEdit( bool enable ) 374void KOEditorGeneralTodo::enableStartEdit( bool enable )
373{ 375{
374 mStartDateEdit->setEnabled( enable ); 376 mStartDateEdit->setEnabled( enable );
375 377
376 if(mDueCheck->isChecked() || mStartCheck->isChecked()) { 378 if(mDueCheck->isChecked() || mStartCheck->isChecked()) {
377 mTimeButton->setEnabled(true); 379 mTimeButton->setEnabled(true);
378 } 380 }
379 else { 381 else {
380 mTimeButton->setEnabled(false); 382 mTimeButton->setEnabled(false);
381 mTimeButton->setChecked(false); 383 mTimeButton->setChecked(false);
382 } 384 }
383 385
384 if (enable) { 386 if (enable) {
385 mStartTimeEdit->setEnabled( mTimeButton->isChecked() ); 387 mStartTimeEdit->setEnabled( mTimeButton->isChecked() );
386 } else { 388 } else {
387 mStartTimeEdit->setEnabled( false ); 389 mStartTimeEdit->setEnabled( false );
388 } 390 }
389} 391}
390 392
391void KOEditorGeneralTodo::enableTimeEdits(bool enable) 393void KOEditorGeneralTodo::enableTimeEdits(bool enable)
392{ 394{
393 if(mStartCheck->isChecked()) { 395 if(mStartCheck->isChecked()) {
394 mStartTimeEdit->setEnabled( enable ); 396 mStartTimeEdit->setEnabled( enable );
395 } 397 }
396 if(mDueCheck->isChecked()) { 398 if(mDueCheck->isChecked()) {
397 mDueTimeEdit->setEnabled( enable ); 399 mDueTimeEdit->setEnabled( enable );
398 } 400 }
399} 401}
400 402
401void KOEditorGeneralTodo::showAlarm() 403void KOEditorGeneralTodo::showAlarm()
402{ 404{
403 if ( mDueCheck->isChecked() ) { 405 if ( mDueCheck->isChecked() ) {
404 alarmDisable(false); 406 alarmDisable(false);
405 } 407 }
406 else { 408 else {
407 alarmDisable(true); 409 alarmDisable(true);
408 } 410 }
409} 411}
410 412
411bool KOEditorGeneralTodo::validateInput() 413bool KOEditorGeneralTodo::validateInput()
412{ 414{
413 if (mDueCheck->isChecked()) { 415 if (mDueCheck->isChecked()) {
414 if (!mDueDateEdit->inputIsValid()) { 416 if (!mDueDateEdit->inputIsValid()) {
415 KMessageBox::sorry(0,i18n("Please specify a valid due date.")); 417 KMessageBox::sorry(0,i18n("Please specify a valid due date."));
416 return false; 418 return false;
417 } 419 }
418 } 420 }
419 421
420 if (mStartCheck->isChecked()) { 422 if (mStartCheck->isChecked()) {
421 if (!mStartDateEdit->inputIsValid()) { 423 if (!mStartDateEdit->inputIsValid()) {
422 KMessageBox::sorry(0,i18n("Please specify a valid start date.")); 424 KMessageBox::sorry(0,i18n("Please specify a valid start date."));
423 return false; 425 return false;
424 } 426 }
425 } 427 }
426 428
427 if (mStartCheck->isChecked() && mDueCheck->isChecked()) { 429 if (mStartCheck->isChecked() && mDueCheck->isChecked()) {
428 QDateTime startDate; 430 QDateTime startDate;
429 QDateTime dueDate; 431 QDateTime dueDate;
430 startDate.setDate(mStartDateEdit->date()); 432 startDate.setDate(mStartDateEdit->date());
431 dueDate.setDate(mDueDateEdit->date()); 433 dueDate.setDate(mDueDateEdit->date());
432 if (mTimeButton->isChecked()) { 434 if (mTimeButton->isChecked()) {
433 startDate.setTime(mStartTimeEdit->getTime()); 435 startDate.setTime(mStartTimeEdit->getTime());
434 dueDate.setTime(mDueTimeEdit->getTime()); 436 dueDate.setTime(mDueTimeEdit->getTime());
435 } 437 }
436 if (startDate > dueDate) { 438 if (startDate > dueDate) {
437 KMessageBox::sorry(0, 439 KMessageBox::sorry(0,
438 i18n("The start date cannot be after the due date.")); 440 i18n("The start date cannot be after the due date."));
439 return false; 441 return false;
440 } 442 }
441 } 443 }
442 444
443 return KOEditorGeneral::validateInput(); 445 return KOEditorGeneral::validateInput();
444} 446}
445 447
446void KOEditorGeneralTodo::completedChanged(int index) 448void KOEditorGeneralTodo::completedChanged(int index)
447{ 449{
448 if (index == 5) { 450 if (index == 5) {
449 //get rid of milli sec 451 //get rid of milli sec
450 mCompleted = QDateTime::currentDateTime(); 452 mCompleted = QDateTime::currentDateTime();
451 } 453 }
452 setCompletedDate(); 454 setCompletedDate();
453} 455}
454 456
455void KOEditorGeneralTodo::setCompletedDate() 457void KOEditorGeneralTodo::setCompletedDate()
456{ 458{
457 if (mCompletedCombo->currentItem() == 5 && mCompleted.isValid()) { 459 if (mCompletedCombo->currentItem() == 5 && mCompleted.isValid()) {
458 if ( QApplication::desktop()->width() < 480 ) { 460 if ( QApplication::desktop()->width() < 480 ) {
459 mCompletedLabel->setText(i18n(" on")); 461 mCompletedLabel->setText(i18n(" on"));
460 } 462 }
461 else 463 else
462 mCompletedLabel->setText(i18n(" completed on ")); 464 mCompletedLabel->setText(i18n(" completed on "));
463 mCompleteDateEdit->show(); 465 mCompleteDateEdit->show();
464 mCompleteTimeEdit->show(); 466 mCompleteTimeEdit->show();
465 mCompleteTimeEdit->setTime( mCompleted.time() ); 467 mCompleteTimeEdit->setTime( mCompleted.time() );
466 mCompleteDateEdit->setDate( mCompleted.date() ); 468 mCompleteDateEdit->setDate( mCompleted.date() );
467 } else { 469 } else {
468 mCompletedLabel->setText(i18n("completed")); 470 mCompletedLabel->setText(i18n(" completed"));
469 mCompleteDateEdit->hide(); 471 mCompleteDateEdit->hide();
470 mCompleteTimeEdit->hide(); 472 mCompleteTimeEdit->hide();
471 } 473 }
472} 474}
473 475
474void KOEditorGeneralTodo::modified (Todo* todo, int modification) 476void KOEditorGeneralTodo::modified (Todo* todo, int modification)
475{ 477{
476 switch (modification) { 478 switch (modification) {
477 case KOGlobals::PRIORITY_MODIFIED: 479 case KOGlobals::PRIORITY_MODIFIED:
478 mPriorityCombo->setCurrentItem(todo->priority()-1); 480 mPriorityCombo->setCurrentItem(todo->priority()-1);
479 break; 481 break;
480 case KOGlobals::COMPLETION_MODIFIED: 482 case KOGlobals::COMPLETION_MODIFIED:
481 mCompletedCombo->setCurrentItem(todo->percentComplete() / 20); 483 mCompletedCombo->setCurrentItem(todo->percentComplete() / 20);
482 if (todo->isCompleted() && todo->hasCompletedDate()) { 484 if (todo->isCompleted() && todo->hasCompletedDate()) {
483 mCompleted = todo->completed(); 485 mCompleted = todo->completed();
484 } 486 }
485 setCompletedDate(); 487 setCompletedDate();
486 break; 488 break;
487 case KOGlobals::CATEGORY_MODIFIED: 489 case KOGlobals::CATEGORY_MODIFIED:
488 setCategories (todo->categoriesStr ()); 490 setCategories (todo->categoriesStr ());
489 break; 491 break;
490 case KOGlobals::UNKNOWN_MODIFIED: // fall through 492 case KOGlobals::UNKNOWN_MODIFIED: // fall through
491 default: 493 default:
492 readTodo( todo ); 494 readTodo( todo );
493 break; 495 break;
494 } 496 }
495} 497}