-rw-r--r-- | korganizer/kotodoeditor.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp index 9073bca..8b90ae5 100644 --- a/korganizer/kotodoeditor.cpp +++ b/korganizer/kotodoeditor.cpp | |||
@@ -54,48 +54,50 @@ extern int globalFlagBlockAgenda; | |||
54 | 54 | ||
55 | KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) : | 55 | KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) : |
56 | KOIncidenceEditor( i18n("Edit To-Do"), calendar, parent ) | 56 | KOIncidenceEditor( i18n("Edit To-Do"), calendar, parent ) |
57 | { | 57 | { |
58 | mTodo = 0; | 58 | mTodo = 0; |
59 | mRelatedTodo = 0; | 59 | mRelatedTodo = 0; |
60 | findButton(User1)->hide(); | 60 | findButton(User1)->hide(); |
61 | init(); | 61 | init(); |
62 | if ( QApplication::desktop()->height() <= 240 ) | 62 | if ( QApplication::desktop()->height() <= 240 ) |
63 | hideButtons(); | 63 | hideButtons(); |
64 | } | 64 | } |
65 | 65 | ||
66 | KOTodoEditor::~KOTodoEditor() | 66 | KOTodoEditor::~KOTodoEditor() |
67 | { | 67 | { |
68 | emit dialogClose( mTodo ); | 68 | emit dialogClose( mTodo ); |
69 | } | 69 | } |
70 | 70 | ||
71 | void KOTodoEditor::init() | 71 | void KOTodoEditor::init() |
72 | { | 72 | { |
73 | setupGeneral(); | 73 | setupGeneral(); |
74 | setupAttendeesTab(); | 74 | setupAttendeesTab(); |
75 | setupRecurrence(); | 75 | setupRecurrence(); |
76 | connect(mGeneral,SIGNAL(datesChecked()),this ,SLOT(checkRecurrence())); | 76 | connect(mGeneral,SIGNAL(datesChecked()),this ,SLOT(checkRecurrence())); |
77 | mRecurrence->setDateTimeStr( i18n("<i>The recurrence is computed from the start datetime!</i>") ); | 77 | mRecurrence->setDateTimeStr( i18n("<i>The recurrence is computed from the start datetime!</i>") ); |
78 | connect(mGeneral,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), | ||
79 | mRecurrence,SLOT(setDefaultsDates(QDateTime,QDateTime))); | ||
78 | } | 80 | } |
79 | void KOTodoEditor::setupRecurrence() | 81 | void KOTodoEditor::setupRecurrence() |
80 | { | 82 | { |
81 | QFrame *topFrame = addPage( i18n("Recurrence") ); | 83 | QFrame *topFrame = addPage( i18n("Recurrence") ); |
82 | QBoxLayout *topLayout = new QVBoxLayout( topFrame ); | 84 | QBoxLayout *topLayout = new QVBoxLayout( topFrame ); |
83 | 85 | ||
84 | mRecurrence = new KOEditorRecurrence( topFrame ); | 86 | mRecurrence = new KOEditorRecurrence( topFrame ); |
85 | topLayout->addWidget( mRecurrence ); | 87 | topLayout->addWidget( mRecurrence ); |
86 | } | 88 | } |
87 | 89 | ||
88 | void KOTodoEditor::setCategories( QString s ) | 90 | void KOTodoEditor::setCategories( QString s ) |
89 | { | 91 | { |
90 | mGeneral->setCategories(s); | 92 | mGeneral->setCategories(s); |
91 | } | 93 | } |
92 | void KOTodoEditor::setSecrecy( int sec ) | 94 | void KOTodoEditor::setSecrecy( int sec ) |
93 | { | 95 | { |
94 | mGeneral->setSecrecy( sec ); | 96 | mGeneral->setSecrecy( sec ); |
95 | } | 97 | } |
96 | void KOTodoEditor::reload() | 98 | void KOTodoEditor::reload() |
97 | { | 99 | { |
98 | if ( mTodo ) readTodo( mTodo ); | 100 | if ( mTodo ) readTodo( mTodo ); |
99 | } | 101 | } |
100 | 102 | ||
101 | void KOTodoEditor::setupGeneral() | 103 | void KOTodoEditor::setupGeneral() |
@@ -284,74 +286,74 @@ void KOTodoEditor::deleteTodo() | |||
284 | } | 286 | } |
285 | } | 287 | } |
286 | 288 | ||
287 | void KOTodoEditor::setDefaults(QDateTime due,Todo *relatedEvent,bool allDay) | 289 | void KOTodoEditor::setDefaults(QDateTime due,Todo *relatedEvent,bool allDay) |
288 | { | 290 | { |
289 | mRelatedTodo = relatedEvent; | 291 | mRelatedTodo = relatedEvent; |
290 | 292 | ||
291 | mGeneral->setDefaults(due,allDay); | 293 | mGeneral->setDefaults(due,allDay); |
292 | mDetails->setDefaults(); | 294 | mDetails->setDefaults(); |
293 | showPage( 0 ); | 295 | showPage( 0 ); |
294 | if ( mRelatedTodo ) { | 296 | if ( mRelatedTodo ) { |
295 | mGeneral->setCategories (mRelatedTodo->categoriesStr ()); | 297 | mGeneral->setCategories (mRelatedTodo->categoriesStr ()); |
296 | mGeneral->setSecrecy (mRelatedTodo->secrecy ()); | 298 | mGeneral->setSecrecy (mRelatedTodo->secrecy ()); |
297 | if ( mRelatedTodo->priority() < 3 ) | 299 | if ( mRelatedTodo->priority() < 3 ) |
298 | mGeneral->mPriorityCombo->setCurrentItem(mRelatedTodo->priority()-1); | 300 | mGeneral->mPriorityCombo->setCurrentItem(mRelatedTodo->priority()-1); |
299 | mGeneral->mSummaryEdit->lineEdit()->setText(mRelatedTodo->summary()+": "); | 301 | mGeneral->mSummaryEdit->lineEdit()->setText(mRelatedTodo->summary()+": "); |
300 | int len = mRelatedTodo->summary().length(); | 302 | int len = mRelatedTodo->summary().length(); |
301 | mGeneral->mSummaryEdit->lineEdit()->setFocus(); | 303 | mGeneral->mSummaryEdit->lineEdit()->setFocus(); |
302 | mGeneral->mSummaryEdit->lineEdit()->setCursorPosition ( len+2 ); | 304 | mGeneral->mSummaryEdit->lineEdit()->setCursorPosition ( len+2 ); |
303 | mGeneral->mSummaryEdit->lineEdit()->setSelection ( 0, len+2 ); | 305 | mGeneral->mSummaryEdit->lineEdit()->setSelection ( 0, len+2 ); |
304 | 306 | ||
305 | } else | 307 | } else |
306 | mGeneral->setFocusOn( 2 ); | 308 | mGeneral->setFocusOn( 2 ); |
307 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), false ); | 309 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), false ); |
308 | mRecurrence->setDefaults(QDateTime::currentDateTime(),QDateTime::currentDateTime().addSecs( 3600 ),true); | 310 | mRecurrence->setDefaults(QDateTime::currentDateTime(),QDateTime::currentDateTime().addSecs( 3600 )); |
309 | } | 311 | } |
310 | void KOTodoEditor::checkRecurrence() | 312 | void KOTodoEditor::checkRecurrence() |
311 | { | 313 | { |
312 | if ( mGeneral->mDueCheck->isChecked() && mGeneral->mStartCheck->isChecked()) { | 314 | if ( mGeneral->mDueCheck->isChecked() && mGeneral->mStartCheck->isChecked()) { |
313 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), true ); | 315 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), true ); |
314 | 316 | ||
315 | if ( mTodo ) | 317 | if ( mTodo ) |
316 | mRecurrence->readEvent( mTodo ); | 318 | mRecurrence->readEvent( mTodo ); |
317 | else { | 319 | else { |
318 | bool time = mGeneral->mTimeButton->isChecked(); | 320 | bool time = mGeneral->mTimeButton->isChecked(); |
319 | QDateTime from,to; | 321 | QDateTime from,to; |
320 | if ( time ) { | 322 | if ( time ) { |
321 | to = QDateTime( mGeneral->mDueDateEdit->date(), mGeneral->mDueTimeEdit->getTime() ) ; | 323 | to = QDateTime( mGeneral->mDueDateEdit->date(), mGeneral->mDueTimeEdit->getTime() ) ; |
322 | from = QDateTime( mGeneral->mStartDateEdit->date(),mGeneral->mStartTimeEdit->getTime( )) ; | 324 | from = QDateTime( mGeneral->mStartDateEdit->date(),mGeneral->mStartTimeEdit->getTime( )) ; |
323 | } else { | 325 | } else { |
324 | to = QDateTime( mGeneral->mDueDateEdit->date(), QTime( 0,0,0) ) ; | 326 | to = QDateTime( mGeneral->mDueDateEdit->date(), QTime( 0,0,0) ) ; |
325 | from = QDateTime( mGeneral->mStartDateEdit->date(),QTime( 0,0,0) ) ; | 327 | from = QDateTime( mGeneral->mStartDateEdit->date(),QTime( 0,0,0) ) ; |
326 | } | 328 | } |
327 | if ( to < from ) | 329 | if ( to < from ) |
328 | to = from; | 330 | to = from; |
329 | mRecurrence->setDefaults(from,to,!time); | 331 | mRecurrence->setDefaults(from,to); |
330 | } | 332 | } |
331 | } else { | 333 | } else { |
332 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), false ); | 334 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), false ); |
333 | mRecurrence->setDefaults(QDateTime::currentDateTime(),QDateTime::currentDateTime().addSecs( 3600 ),true); | 335 | mRecurrence->setDefaults(QDateTime::currentDateTime(),QDateTime::currentDateTime().addSecs( 3600 )); |
334 | } | 336 | } |
335 | } | 337 | } |
336 | void KOTodoEditor::readTodo(Todo *todo) | 338 | void KOTodoEditor::readTodo(Todo *todo) |
337 | { | 339 | { |
338 | mGeneral->readTodo(todo); | 340 | mGeneral->readTodo(todo); |
339 | mDetails->readEvent(todo); | 341 | mDetails->readEvent(todo); |
340 | mRelatedTodo = 0;//todo->relatedTo(); | 342 | mRelatedTodo = 0;//todo->relatedTo(); |
341 | // categories | 343 | // categories |
342 | // mCategoryDialog->setSelected(todo->categories()); | 344 | // mCategoryDialog->setSelected(todo->categories()); |
343 | 345 | ||
344 | // We should handle read-only events here. | 346 | // We should handle read-only events here. |
345 | } | 347 | } |
346 | 348 | ||
347 | void KOTodoEditor::writeTodo(Todo *event) | 349 | void KOTodoEditor::writeTodo(Todo *event) |
348 | { | 350 | { |
349 | bool maybeComputeRecurrenceTime = false; | 351 | bool maybeComputeRecurrenceTime = false; |
350 | if( event->hasRecurrenceID() && event->percentComplete() < 100) | 352 | if( event->hasRecurrenceID() && event->percentComplete() < 100) |
351 | maybeComputeRecurrenceTime = true; | 353 | maybeComputeRecurrenceTime = true; |
352 | event->setHasRecurrenceID( false ); | 354 | event->setHasRecurrenceID( false ); |
353 | mGeneral->writeTodo(event); | 355 | mGeneral->writeTodo(event); |
354 | mDetails->writeEvent(event); | 356 | mDetails->writeEvent(event); |
355 | 357 | ||
356 | // set related event, i.e. parent to-do in this case. | 358 | // set related event, i.e. parent to-do in this case. |
357 | if (mRelatedTodo) { | 359 | if (mRelatedTodo) { |