--- a/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Fri Sep 17 08:29:05 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Mon Oct 04 00:15:49 2010 +0300
@@ -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