diff -r 27feeedec790 -r 7ac58b2aae6f calendarui/caleneditor/src/caleneditorrepeatfield.cpp --- a/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Mon Sep 06 15:58:44 2010 +0530 +++ b/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Mon Sep 20 12:44:39 2010 +0530 @@ -96,6 +96,7 @@ mRepeatItem(0), mRepeatComboBox(0), mCustomRepeatUntilItem(0), + mDatePicker(0), mRepeatRoleValue(0), mIsBiWeekly(false), mIsWorkdays(false), @@ -489,6 +490,7 @@ void CalenEditorRepeatField::launchRepeatUntilDatePicker() { OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_LAUNCHREPEATUNTILDATEPICKER_ENTRY ); + QDate minDate; HbDialog *popUp = new HbDialog(); // Set the parent for the dialog // Once the parent object is deleted the dialog will also be deleted @@ -502,36 +504,26 @@ if (mDatePicker) { mDatePicker = 0; } + mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); + if (mRepeatRuleType == AgendaRepeatRule::DailyRule) { - QDate minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1); - mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); - mDatePicker->setMinimumDate(minDate); - mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date()); - mDatePicker->setDate(mRepeatUntilDate); + minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1); } else if (mRepeatRuleType == AgendaRepeatRule::WeeklyRule) { - QDate minDate; if (!mIsBiWeekly || mIsWorkdays) { minDate = mCalenEditor->editedEntry()->endTime().date().addDays(7); } else { minDate = mCalenEditor->editedEntry()->endTime().date().addDays(14); } - mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); - mDatePicker->setMinimumDate(minDate); - mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date()); - mDatePicker->setDate(mRepeatUntilDate); } else if (mRepeatRuleType == AgendaRepeatRule::MonthlyRule) { - QDate minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1); - mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); - mDatePicker->setMinimumDate(minDate); - mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date()); - mDatePicker->setDate(mRepeatUntilDate); + minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1); } else if (mRepeatRuleType == AgendaRepeatRule::YearlyRule) { - QDate minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1); - mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp); - mDatePicker->setMinimumDate(minDate); - mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date()); - mDatePicker->setDate(mRepeatUntilDate); + minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1); } + + mDatePicker->setMinimumDate(minDate); + mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date()); + mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString()); + mDatePicker->setDate(mRepeatUntilDate); popUp->setContentWidget(mDatePicker); HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok")); @@ -543,6 +535,21 @@ } /*! + Refreshes the repeat until date picker when locale with proper date format + */ +void CalenEditorRepeatField::refreshRepeatUntilDate() +{ + HbExtendedLocale locale = HbExtendedLocale::system(); + QString dateString = locale.format(mRepeatUntilDate, + r_qtn_date_usual_with_zero); + mCustomRepeatUntilItem->setContentWidgetData("text", dateString); + + if(!(mDatePicker.isNull())) { + mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString()); + mDatePicker->setDate(mRepeatUntilDate); + } +} +/*! Sets the repeat until date on the repeat until item */ void CalenEditorRepeatField::setRepeatUntilDate() @@ -550,13 +557,9 @@ OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_SETREPEATUNTILDATE_ENTRY ); //Get the previous date which was set QDate previousDate = mRepeatUntilDate; - mRepeatUntilDate = mDatePicker->date(); - if (mRepeatUntilDate.isValid()) { - HbExtendedLocale locale = HbExtendedLocale::system(); - QString dateString = locale.format(mRepeatUntilDate, - r_qtn_date_usual_with_zero); - mCustomRepeatUntilItem->setContentWidgetData("text", dateString); - } + mRepeatUntilDate = mDatePicker->date(); + if (mRepeatUntilDate.isValid()) + refreshRepeatUntilDate(); mCalenEditor->updateReminderChoices(); // If the entry's repeatuntil date is changed from past to a future date // And if the alarm set set is off