176 // Set the Original entry value also. |
177 // Set the Original entry value also. |
177 mCalenEditor->originalEntry()->setRepeatRule( |
178 mCalenEditor->originalEntry()->setRepeatRule( |
178 AgendaRepeatRule( |
179 AgendaRepeatRule( |
179 AgendaRepeatRule::InvalidRule)); |
180 AgendaRepeatRule::InvalidRule)); |
180 } |
181 } |
181 connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this, |
|
182 SLOT(handleRepeatIndexChanged(int))); |
|
183 |
182 |
184 // Update the repeat choices depending upon the duration |
183 // Update the repeat choices depending upon the duration |
185 updateRepeatChoices(); |
184 updateRepeatChoices(); |
|
185 connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this, |
|
186 SLOT(handleRepeatIndexChanged(int))); |
186 } |
187 } |
187 |
188 |
188 /*! |
189 /*! |
189 Triggerd from tapping on reminder item. |
190 Triggerd from tapping on reminder item. |
190 Handles the reminder time change and updates the same in the event. |
191 Handles the reminder time change and updates the same in the event. |
349 /*! |
354 /*! |
350 Launches the date picker by tapping on the repaet until pushbutton |
355 Launches the date picker by tapping on the repaet until pushbutton |
351 */ |
356 */ |
352 void CalenEditorRepeatField::launchRepeatUntilDatePicker() |
357 void CalenEditorRepeatField::launchRepeatUntilDatePicker() |
353 { |
358 { |
|
359 HbDialog *popUp = new HbDialog(); |
|
360 popUp->setDismissPolicy(HbDialog::NoDismiss); |
|
361 popUp->setTimeout(HbDialog::NoTimeout); |
|
362 popUp->setHeadingWidget( new HbLabel( |
|
363 hbTrId("txt_calendar_title_repeat_until"))); |
|
364 popUp->setAttribute( Qt::WA_DeleteOnClose, true ); |
|
365 |
354 if (mDatePicker) { |
366 if (mDatePicker) { |
355 mDatePicker = NULL; |
367 mDatePicker = NULL; |
356 } |
368 } |
357 if (mRepeatRuleType == AgendaRepeatRule::DailyRule) { |
369 if (mRepeatRuleType == AgendaRepeatRule::DailyRule) { |
358 QDate minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1); |
370 QDate minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1); |
359 mDatePicker = new HbDateTimePicker(mRepeatUntilDate); |
371 mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); |
360 mDatePicker->setMinimumDate(minDate); |
372 mDatePicker->setMinimumDate(minDate); |
361 mDatePicker->setMaximumDate(QDate(31, 12, 2100)); |
373 mDatePicker->setMaximumDate(QDate(31, 12, 2100)); |
362 mDatePicker->setDate(mRepeatUntilDate); |
374 mDatePicker->setDate(mRepeatUntilDate); |
363 } else if (mRepeatRuleType == AgendaRepeatRule::WeeklyRule) { |
375 } else if (mRepeatRuleType == AgendaRepeatRule::WeeklyRule) { |
364 QDate minDate; |
376 QDate minDate; |
365 if (!mIsBiWeekly || mIsWorkdays) { |
377 if (!mIsBiWeekly || mIsWorkdays) { |
366 minDate = mCalenEditor->editedEntry()->endTime().date().addDays(7); |
378 minDate = mCalenEditor->editedEntry()->endTime().date().addDays(7); |
367 } else { |
379 } else { |
368 minDate = mCalenEditor->editedEntry()->endTime().date().addDays(14); |
380 minDate = mCalenEditor->editedEntry()->endTime().date().addDays(14); |
369 } |
381 } |
370 mDatePicker = new HbDateTimePicker(mRepeatUntilDate); |
382 mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); |
371 mDatePicker->setMinimumDate(minDate); |
383 mDatePicker->setMinimumDate(minDate); |
372 mDatePicker->setMaximumDate(QDate(31, 12, 2100)); |
384 mDatePicker->setMaximumDate(QDate(31, 12, 2100)); |
373 mDatePicker->setDate(mRepeatUntilDate); |
385 mDatePicker->setDate(mRepeatUntilDate); |
374 } else if (mRepeatRuleType == AgendaRepeatRule::MonthlyRule) { |
386 } else if (mRepeatRuleType == AgendaRepeatRule::MonthlyRule) { |
375 QDate minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1); |
387 QDate minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1); |
376 mDatePicker = new HbDateTimePicker(mRepeatUntilDate); |
388 mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); |
377 mDatePicker->setMinimumDate(minDate); |
389 mDatePicker->setMinimumDate(minDate); |
378 mDatePicker->setMaximumDate(QDate(31, 12, 2100)); |
390 mDatePicker->setMaximumDate(QDate(31, 12, 2100)); |
379 mDatePicker->setDate(mRepeatUntilDate); |
391 mDatePicker->setDate(mRepeatUntilDate); |
380 } else if (mRepeatRuleType == AgendaRepeatRule::YearlyRule) { |
392 } else if (mRepeatRuleType == AgendaRepeatRule::YearlyRule) { |
381 QDate minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1); |
393 QDate minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1); |
382 mDatePicker = new HbDateTimePicker(mRepeatUntilDate); |
394 mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); |
383 mDatePicker->setMinimumDate(minDate); |
395 mDatePicker->setMinimumDate(minDate); |
384 mDatePicker->setMaximumDate(QDate(31, 12, 2100)); |
396 mDatePicker->setMaximumDate(QDate(31, 12, 2100)); |
385 mDatePicker->setDate(mRepeatUntilDate); |
397 mDatePicker->setDate(mRepeatUntilDate); |
386 } |
398 } |
387 HbDialog popUp; |
399 popUp->setContentWidget(mDatePicker); |
388 popUp.setDismissPolicy(HbDialog::NoDismiss); |
400 |
389 popUp.setTimeout(HbDialog::NoTimeout); |
|
390 popUp.setContentWidget(mDatePicker); |
|
391 popUp.setHeadingWidget( new HbLabel( |
|
392 hbTrId("txt_calendar_title_repeat_until"))); |
|
393 HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok")); |
401 HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok")); |
394 popUp.setPrimaryAction(okAction); |
402 popUp->addAction(okAction); |
395 connect(okAction, SIGNAL(triggered()), this, SLOT(setRepeatUntilDate())); |
403 connect(okAction, SIGNAL(triggered()), this, SLOT(setRepeatUntilDate())); |
396 connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close())); |
404 popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp)); |
397 popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"), |
405 popUp->open(); |
398 &popUp)); |
|
399 popUp.exec(); |
|
400 } |
406 } |
401 |
407 |
402 /*! |
408 /*! |
403 Sets the repeat until date on the repeat until item |
409 Sets the repeat until date on the repeat until item |
404 */ |
410 */ |