288 }else { |
288 }else { |
289 // No change in repeat value |
289 // No change in repeat value |
290 repeatPropertyChange = false; |
290 repeatPropertyChange = false; |
291 } |
291 } |
292 QDate repeatUntilDate = mRepeatUntilDate; |
292 QDate repeatUntilDate = mRepeatUntilDate; |
293 |
293 // Update the repeat type only if its has been changed |
294 if (value != mRepeatRoleValue) |
294 // ie. if the previous repeatrole is different from the current repeat role |
295 { |
295 if (value != mRepeatRoleValue) { |
296 mRepeatRoleValue = value; |
296 mRepeatRoleValue = value; |
297 switch (value) { |
297 switch (value) { |
298 case DailyRole: { |
298 case DailyRole: { |
299 if (!mRepeatUntilItemAdded) { |
299 if (!mRepeatUntilItemAdded) { |
300 insertRepeatUntilItem(); |
300 insertRepeatUntilItem(); |
301 } |
301 } |
302 if (mCustomRepeatUntilItem) { |
302 if (mCustomRepeatUntilItem) { |
303 // Show default repeat until date till one year for daily rule |
303 // Show default repeat until date till one year for daily rule |
304 mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1); |
304 mRepeatUntilDate = |
305 mCustomRepeatUntilItem->setContentWidgetData( "text", |
305 mCalenEditor->editedEntry()->startTime().date().addYears(1); |
306 locale.format( mRepeatUntilDate, |
306 mCustomRepeatUntilItem->setContentWidgetData( "text", |
307 r_qtn_date_usual_with_zero)); |
307 locale.format( |
308 } |
308 mRepeatUntilDate, r_qtn_date_usual_with_zero)); |
309 mRepeatRuleType = AgendaRepeatRule::DailyRule; |
309 } |
|
310 mRepeatRuleType = AgendaRepeatRule::DailyRule; |
|
311 } |
|
312 break; |
|
313 case WorkdaysRole: { |
|
314 if (!mRepeatUntilItemAdded) { |
|
315 insertRepeatUntilItem(); |
|
316 } |
|
317 if (mCustomRepeatUntilItem) { |
|
318 // Show default repeat until date till one year for workdays rule |
|
319 mRepeatUntilDate = |
|
320 mCalenEditor->editedEntry()->startTime().date().addYears(1); |
|
321 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
322 locale.format( |
|
323 mRepeatUntilDate, r_qtn_date_usual_with_zero)); |
|
324 } |
|
325 mRepeatRuleType = AgendaRepeatRule::WeeklyRule; |
|
326 mIsWorkdays = true; |
|
327 } |
|
328 break; |
|
329 case WeeklyRole: { |
|
330 if (!mRepeatUntilItemAdded) { |
|
331 insertRepeatUntilItem(); |
|
332 } |
|
333 if (mCustomRepeatUntilItem) { |
|
334 // Show default repeat until date till one year for weekly rule |
|
335 mRepeatUntilDate = |
|
336 mCalenEditor->editedEntry()->startTime().date().addYears(1); |
|
337 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
338 locale.format( |
|
339 mRepeatUntilDate, r_qtn_date_usual_with_zero)); |
|
340 } |
|
341 mRepeatRuleType = AgendaRepeatRule::WeeklyRule; |
|
342 } |
|
343 break; |
|
344 case BiWeeklyRole: { |
|
345 if (!mRepeatUntilItemAdded) { |
|
346 insertRepeatUntilItem(); |
|
347 } |
|
348 if (mCustomRepeatUntilItem) { |
|
349 // Show default repeat until date till one year for bi-weekly rule |
|
350 mRepeatUntilDate = |
|
351 mCalenEditor->editedEntry()->startTime().date().addYears(1); |
|
352 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
353 locale.format( |
|
354 mRepeatUntilDate, r_qtn_date_usual_with_zero)); |
|
355 } |
|
356 mRepeatRuleType = AgendaRepeatRule::WeeklyRule; |
|
357 mIsBiWeekly = true; |
|
358 } |
|
359 break; |
|
360 case MonthlyRole: { |
|
361 if (!mRepeatUntilItemAdded) { |
|
362 insertRepeatUntilItem(); |
|
363 } |
|
364 if (mCustomRepeatUntilItem) { |
|
365 // Show default repeat until date till one year for monthly rule |
|
366 mRepeatUntilDate = |
|
367 mCalenEditor->editedEntry()->startTime().date().addYears(1); |
|
368 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
369 locale.format( |
|
370 mRepeatUntilDate, r_qtn_date_usual_with_zero)); |
|
371 } |
|
372 mRepeatRuleType = AgendaRepeatRule::MonthlyRule; |
|
373 } |
|
374 break; |
|
375 case YearlyRole: { |
|
376 if (!mRepeatUntilItemAdded) { |
|
377 insertRepeatUntilItem(); |
|
378 } |
|
379 if (mCustomRepeatUntilItem) { |
|
380 // Show default repeat until date till ten years for yearly rule |
|
381 mRepeatUntilDate = |
|
382 mCalenEditor->editedEntry()->startTime().date().addYears(10); |
|
383 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
384 locale.format( |
|
385 mRepeatUntilDate, r_qtn_date_usual_with_zero)); |
|
386 } |
|
387 mRepeatRuleType = AgendaRepeatRule::YearlyRule; |
|
388 } |
|
389 break; |
|
390 default: { |
|
391 removeRepeatUntilItem(); |
|
392 } |
|
393 break; |
310 } |
394 } |
311 break; |
|
312 case WorkdaysRole: { |
|
313 if (!mRepeatUntilItemAdded) { |
|
314 insertRepeatUntilItem(); |
|
315 } |
|
316 if (mCustomRepeatUntilItem) { |
|
317 // Show default repeat until date till one year for workdays rule |
|
318 mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1); |
|
319 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
320 locale.format( mRepeatUntilDate, |
|
321 r_qtn_date_usual_with_zero)); |
|
322 } |
|
323 mRepeatRuleType = AgendaRepeatRule::WeeklyRule; |
|
324 mIsWorkdays = true; |
|
325 } |
|
326 break; |
|
327 case WeeklyRole: { |
|
328 if (!mRepeatUntilItemAdded) { |
|
329 insertRepeatUntilItem(); |
|
330 } |
|
331 if (mCustomRepeatUntilItem) { |
|
332 // Show default repeat until date till one year for weekly rule |
|
333 mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1); |
|
334 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
335 locale.format( mRepeatUntilDate, |
|
336 r_qtn_date_usual_with_zero)); |
|
337 } |
|
338 mRepeatRuleType = AgendaRepeatRule::WeeklyRule; |
|
339 } |
|
340 break; |
|
341 case BiWeeklyRole: { |
|
342 if (!mRepeatUntilItemAdded) { |
|
343 insertRepeatUntilItem(); |
|
344 } |
|
345 if (mCustomRepeatUntilItem) { |
|
346 // Show default repeat until date till one year for bi-weekly rule |
|
347 mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1); |
|
348 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
349 locale.format( mRepeatUntilDate, |
|
350 r_qtn_date_usual_with_zero)); |
|
351 } |
|
352 mRepeatRuleType = AgendaRepeatRule::WeeklyRule; |
|
353 mIsBiWeekly = true; |
|
354 } |
|
355 break; |
|
356 case MonthlyRole: { |
|
357 if (!mRepeatUntilItemAdded) { |
|
358 insertRepeatUntilItem(); |
|
359 } |
|
360 if (mCustomRepeatUntilItem) { |
|
361 // Show default repeat until date till one year for monthly rule |
|
362 mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(1); |
|
363 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
364 locale.format( mRepeatUntilDate, |
|
365 r_qtn_date_usual_with_zero)); |
|
366 } |
|
367 mRepeatRuleType = AgendaRepeatRule::MonthlyRule; |
|
368 } |
|
369 break; |
|
370 case YearlyRole: { |
|
371 if (!mRepeatUntilItemAdded) { |
|
372 insertRepeatUntilItem(); |
|
373 } |
|
374 if (mCustomRepeatUntilItem) { |
|
375 // Show default repeat until date till ten years for yearly rule |
|
376 mRepeatUntilDate = mCalenEditor->editedEntry()->startTime().date().addYears(10); |
|
377 mCustomRepeatUntilItem->setContentWidgetData( "text", |
|
378 locale.format( mRepeatUntilDate, |
|
379 r_qtn_date_usual_with_zero)); |
|
380 } |
|
381 mRepeatRuleType = AgendaRepeatRule::YearlyRule; |
|
382 } |
|
383 break; |
|
384 default: { |
|
385 removeRepeatUntilItem(); |
|
386 } |
|
387 break; |
|
388 } |
|
389 } |
395 } |
390 if(!mCalenEditor->isNewEntry()) { |
396 if(!mCalenEditor->isNewEntry()) { |
391 mCalenEditor->addDiscardAction(); |
397 mCalenEditor->addDiscardAction(); |
392 } |
398 } |
393 // Depending on repeatPropertyChange value and the repeatuntil date change |
399 // Depending on repeatPropertyChange value and the repeatuntil date change |