--- a/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Mon Aug 09 18:30:52 2010 +0530
+++ b/calendarui/caleneditor/src/caleneditorrepeatfield.cpp Wed Aug 25 14:02:13 2010 +0530
@@ -290,102 +290,108 @@
repeatPropertyChange = false;
}
QDate repeatUntilDate = mRepeatUntilDate;
-
- if (value != mRepeatRoleValue)
- {
- mRepeatRoleValue = value;
- switch (value) {
- case DailyRole: {
- if (!mRepeatUntilItemAdded) {
- insertRepeatUntilItem();
+ // Update the repeat type only if its has been changed
+ // ie. if the previous repeatrole is different from the current repeat role
+ if (value != mRepeatRoleValue) {
+ mRepeatRoleValue = value;
+ switch (value) {
+ case DailyRole: {
+ if (!mRepeatUntilItemAdded) {
+ insertRepeatUntilItem();
+ }
+ if (mCustomRepeatUntilItem) {
+ // Show default repeat until date till one year for daily rule
+ mRepeatUntilDate =
+ mCalenEditor->editedEntry()->startTime().date().addYears(1);
+ mCustomRepeatUntilItem->setContentWidgetData( "text",
+ locale.format(
+ mRepeatUntilDate, r_qtn_date_usual_with_zero));
+ }
+ mRepeatRuleType = AgendaRepeatRule::DailyRule;
}
- if (mCustomRepeatUntilItem) {
- // Show default repeat until date till one year for daily rule
- mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1);
- mCustomRepeatUntilItem->setContentWidgetData( "text",
- locale.format( mRepeatUntilDate,
- r_qtn_date_usual_with_zero));
+ break;
+ case WorkdaysRole: {
+ if (!mRepeatUntilItemAdded) {
+ insertRepeatUntilItem();
+ }
+ if (mCustomRepeatUntilItem) {
+ // Show default repeat until date till one year for workdays rule
+ mRepeatUntilDate =
+ mCalenEditor->editedEntry()->startTime().date().addYears(1);
+ mCustomRepeatUntilItem->setContentWidgetData( "text",
+ locale.format(
+ mRepeatUntilDate, r_qtn_date_usual_with_zero));
+ }
+ mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
+ mIsWorkdays = true;
}
- mRepeatRuleType = AgendaRepeatRule::DailyRule;
- }
- break;
- case WorkdaysRole: {
- if (!mRepeatUntilItemAdded) {
- insertRepeatUntilItem();
+ break;
+ case WeeklyRole: {
+ if (!mRepeatUntilItemAdded) {
+ insertRepeatUntilItem();
+ }
+ if (mCustomRepeatUntilItem) {
+ // Show default repeat until date till one year for weekly rule
+ mRepeatUntilDate =
+ mCalenEditor->editedEntry()->startTime().date().addYears(1);
+ mCustomRepeatUntilItem->setContentWidgetData( "text",
+ locale.format(
+ mRepeatUntilDate, r_qtn_date_usual_with_zero));
+ }
+ mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
}
- if (mCustomRepeatUntilItem) {
- // Show default repeat until date till one year for workdays rule
- mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1);
- mCustomRepeatUntilItem->setContentWidgetData( "text",
- locale.format( mRepeatUntilDate,
- r_qtn_date_usual_with_zero));
+ break;
+ case BiWeeklyRole: {
+ if (!mRepeatUntilItemAdded) {
+ insertRepeatUntilItem();
+ }
+ if (mCustomRepeatUntilItem) {
+ // Show default repeat until date till one year for bi-weekly rule
+ mRepeatUntilDate =
+ mCalenEditor->editedEntry()->startTime().date().addYears(1);
+ mCustomRepeatUntilItem->setContentWidgetData( "text",
+ locale.format(
+ mRepeatUntilDate, r_qtn_date_usual_with_zero));
+ }
+ mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
+ mIsBiWeekly = true;
}
- mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
- mIsWorkdays = true;
- }
- break;
- case WeeklyRole: {
- if (!mRepeatUntilItemAdded) {
- insertRepeatUntilItem();
+ break;
+ case MonthlyRole: {
+ if (!mRepeatUntilItemAdded) {
+ insertRepeatUntilItem();
+ }
+ if (mCustomRepeatUntilItem) {
+ // Show default repeat until date till one year for monthly rule
+ mRepeatUntilDate =
+ mCalenEditor->editedEntry()->startTime().date().addYears(1);
+ mCustomRepeatUntilItem->setContentWidgetData( "text",
+ locale.format(
+ mRepeatUntilDate, r_qtn_date_usual_with_zero));
+ }
+ mRepeatRuleType = AgendaRepeatRule::MonthlyRule;
}
- if (mCustomRepeatUntilItem) {
- // Show default repeat until date till one year for weekly rule
- mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1);
- mCustomRepeatUntilItem->setContentWidgetData( "text",
- locale.format( mRepeatUntilDate,
- r_qtn_date_usual_with_zero));
+ break;
+ case YearlyRole: {
+ if (!mRepeatUntilItemAdded) {
+ insertRepeatUntilItem();
+ }
+ if (mCustomRepeatUntilItem) {
+ // Show default repeat until date till ten years for yearly rule
+ mRepeatUntilDate =
+ mCalenEditor->editedEntry()->startTime().date().addYears(10);
+ mCustomRepeatUntilItem->setContentWidgetData( "text",
+ locale.format(
+ mRepeatUntilDate, r_qtn_date_usual_with_zero));
+ }
+ mRepeatRuleType = AgendaRepeatRule::YearlyRule;
}
- mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
+ break;
+ default: {
+ removeRepeatUntilItem();
+ }
+ break;
}
- break;
- case BiWeeklyRole: {
- if (!mRepeatUntilItemAdded) {
- insertRepeatUntilItem();
- }
- if (mCustomRepeatUntilItem) {
- // Show default repeat until date till one year for bi-weekly rule
- mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1);
- mCustomRepeatUntilItem->setContentWidgetData( "text",
- locale.format( mRepeatUntilDate,
- r_qtn_date_usual_with_zero));
- }
- mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
- mIsBiWeekly = true;
- }
- break;
- case MonthlyRole: {
- if (!mRepeatUntilItemAdded) {
- insertRepeatUntilItem();
- }
- if (mCustomRepeatUntilItem) {
- // Show default repeat until date till one year for monthly rule
- mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1);
- mCustomRepeatUntilItem->setContentWidgetData( "text",
- locale.format( mRepeatUntilDate,
- r_qtn_date_usual_with_zero));
- }
- mRepeatRuleType = AgendaRepeatRule::MonthlyRule;
- }
- break;
- case YearlyRole: {
- if (!mRepeatUntilItemAdded) {
- insertRepeatUntilItem();
- }
- if (mCustomRepeatUntilItem) {
- // Show default repeat until date till ten years for yearly rule
- mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(10);
- mCustomRepeatUntilItem->setContentWidgetData( "text",
- locale.format( mRepeatUntilDate,
- r_qtn_date_usual_with_zero));
- }
- mRepeatRuleType = AgendaRepeatRule::YearlyRule;
- }
- break;
- default: {
- removeRepeatUntilItem();
- }
- break;
- }
}
if(!mCalenEditor->isNewEntry()) {
mCalenEditor->addDiscardAction();
@@ -668,8 +674,17 @@
//Connecting back the slot for repeat index change before setting index.
connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(handleRepeatIndexChanged(int)));
+ // By default the repeat combobox index will be 0
// Set the previous user's choice
mRepeatComboBox->setCurrentIndex(choice);
+ // If the previous user's choice is also zero, then slot
+ // handleRepeatIndexChanged will not be called as
+ // there is no change in current index
+ // So explicitly call updateReminderChoices to update the reminder choices
+ // for choice : 0 (Not repeated)
+ if(choice == 0) {
+ mCalenEditor->updateReminderChoices();
+ }
OstTraceFunctionExit0( DUP1_CALENEDITORREPEATFIELD_UPDATEREPEATCHOICES_EXIT );
}