56 mReminderTimeAdded(false) |
56 mReminderTimeAdded(false) |
57 { |
57 { |
58 mReminderItem = new HbDataFormModelItem(); |
58 mReminderItem = new HbDataFormModelItem(); |
59 mReminderItem->setType(HbDataFormModelItem::ComboBoxItem); |
59 mReminderItem->setType(HbDataFormModelItem::ComboBoxItem); |
60 mReminderItem->setData(HbDataFormModelItem::LabelRole, |
60 mReminderItem->setData(HbDataFormModelItem::LabelRole, |
61 hbTrId("txt_calendar_setlabel_alarm")); |
61 hbTrId("txt_calendar_setlabel_reminder")); |
62 // Add it to the model |
62 // Add it to the model |
63 mCalenEditorModel->appendDataFormItem(mReminderItem, |
63 mCalenEditorModel->appendDataFormItem(mReminderItem, |
64 mCalenEditorModel->invisibleRootItem()); |
64 mCalenEditorModel->invisibleRootItem()); |
65 } |
65 } |
66 |
66 |
77 */ |
77 */ |
78 void CalenEditorReminderField::setReminderChoices() |
78 void CalenEditorReminderField::setReminderChoices() |
79 { |
79 { |
80 // Create the reminder choices |
80 // Create the reminder choices |
81 QStringList reminderChoices; |
81 QStringList reminderChoices; |
82 reminderChoices << hbTrId("txt_calendar_setlabel_alarm_val_off") |
82 reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off") |
83 << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 5) |
83 << hbTrId("txt_calendar_setlabel_reminder_val_at_the_start") |
84 << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 10) |
84 << hbTrId("txt_calendar_setlabel_reminder_val_15_minutes_befo") |
85 << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 15) |
85 << hbTrId("txt_calendar_setlabel_reminder_val_30_minutes_befo") |
86 << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 30) |
86 << hbTrId("txt_calendar_setlabel_reminder_val_1_hour_before"); |
87 << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_hours", 1) |
|
88 << hbTrId("txt_calendar_setlabel_alarm_val_before_ln_hours", 2); |
|
89 |
87 |
90 mReminderItem->setContentWidgetData(QString("items"), reminderChoices); |
88 mReminderItem->setContentWidgetData(QString("items"), reminderChoices); |
91 |
89 |
92 // Build the hash map for the reminder. |
90 // Build the hash map for the reminder. |
93 mReminderHash[0] = 0; // OFF. |
91 mReminderHash[0] = -1; // OFF. |
94 mReminderHash[1] = 5; |
92 mReminderHash[1] = 0; |
95 mReminderHash[2] = 10; |
93 mReminderHash[2] = 15; |
96 mReminderHash[3] = 15; |
94 mReminderHash[3] = 30; |
97 mReminderHash[4] = 30; |
95 mReminderHash[4] = 60; |
98 mReminderHash[5] = 60; |
|
99 mReminderHash[6] = 120; |
|
100 |
|
101 mReminderItem->setEnabled(true); |
96 mReminderItem->setEnabled(true); |
102 } |
97 } |
103 |
98 |
104 /*! |
99 /*! |
105 Adds reminder item to the model |
100 Adds reminder item to the model |
151 setReminderChoices(); |
146 setReminderChoices(); |
152 } |
147 } |
153 // Set the default reminder value to 15 minutes |
148 // Set the default reminder value to 15 minutes |
154 if (newEntry) { |
149 if (newEntry) { |
155 if (!pastEvent) { |
150 if (!pastEvent) { |
156 mReminderItem->setContentWidgetData("currentIndex", 3); |
151 mReminderItem->setContentWidgetData("currentIndex", 2); |
157 // Save the reminder alarm for the entry |
152 // Save the reminder alarm for the entry |
158 reminder.setTimeOffset(mReminderHash.value(3)); |
153 reminder.setTimeOffset(mReminderHash.value(2)); |
159 reminder.setAlarmSoundName(QString(" ")); |
154 reminder.setAlarmSoundName(QString(" ")); |
160 // Set the reminder to the entry as well as original entry. |
155 // Set the reminder to the entry as well as original entry. |
161 mCalenEditor->editedEntry()->setAlarm(reminder); |
156 mCalenEditor->editedEntry()->setAlarm(reminder); |
162 mCalenEditor->originalEntry()->setAlarm(reminder); |
157 mCalenEditor->originalEntry()->setAlarm(reminder); |
163 } else { |
158 } else { |
238 if (!mCalenEditor->editedEntry()->alarm().isNull()) { |
233 if (!mCalenEditor->editedEntry()->alarm().isNull()) { |
239 reminder = mCalenEditor->editedEntry()->alarm(); |
234 reminder = mCalenEditor->editedEntry()->alarm(); |
240 } |
235 } |
241 // Check whether all day event or not and store appropriately. |
236 // Check whether all day event or not and store appropriately. |
242 if (!mCalenEditor->isAllDayEvent()) { |
237 if (!mCalenEditor->isAllDayEvent()) { |
243 // If value for the index in hash table is 0 i.e reminder is "OFF", |
238 // If value for the index in hash table is -1 i.e reminder is "OFF", |
244 // then set the default constructed reminder to |
239 // then set the default constructed reminder to |
245 // the entry which is Null. |
240 // the entry which is Null. |
246 if (!mReminderHash.value(index)) { |
241 if (mReminderHash.value(index) < 0) { |
247 // Construct the default alarm which is NULL |
242 // Construct the default alarm which is NULL |
248 reminder = AgendaAlarm(); |
243 reminder = AgendaAlarm(); |
249 } else { |
244 } else { |
250 // If not zero then set the reminder offset |
245 // If not zero then set the reminder offset |
251 // value to the entry. |
246 // value to the entry. |
310 */ |
305 */ |
311 void CalenEditorReminderField::setReminderOff() |
306 void CalenEditorReminderField::setReminderOff() |
312 { |
307 { |
313 // Create the remindar choices |
308 // Create the remindar choices |
314 QStringList reminderChoices; |
309 QStringList reminderChoices; |
315 reminderChoices << hbTrId("txt_calendar_setlabel_alarm_val_off"); |
310 reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off"); |
316 mReminderItem->setContentWidgetData(QString("items"), reminderChoices); |
311 mReminderItem->setContentWidgetData(QString("items"), reminderChoices); |
317 mReminderItem->setEnabled(false); |
312 mReminderItem->setEnabled(false); |
318 } |
313 } |
319 |
314 |
320 /*! |
315 /*! |
359 QDate theDayAfterTomorrow = QDate::currentDate().addDays(2); |
354 QDate theDayAfterTomorrow = QDate::currentDate().addDays(2); |
360 |
355 |
361 if (referenceDate < QDate::currentDate() || |
356 if (referenceDate < QDate::currentDate() || |
362 referenceDate == QDate::currentDate()) { |
357 referenceDate == QDate::currentDate()) { |
363 // Set reminder off for past event. |
358 // Set reminder off for past event. |
364 reminderChoicesForAllDay << hbTrId("off"); |
359 reminderChoicesForAllDay << hbTrId("txt_calendar_setlabel_reminder_val_off"); |
365 mReminderItem->setContentWidgetData(QString("items"), |
360 mReminderItem->setContentWidgetData(QString("items"), |
366 reminderChoicesForAllDay); |
361 reminderChoicesForAllDay); |
367 mReminderItem->setEnabled(false); |
362 mReminderItem->setEnabled(false); |
368 removeReminderTimeField(); |
363 removeReminderTimeField(); |
369 } else if (theDayAfterTomorrow < referenceDate || |
364 } else if (theDayAfterTomorrow < referenceDate || |
370 theDayAfterTomorrow == referenceDate) { |
365 theDayAfterTomorrow == referenceDate) { |
371 reminderChoicesForAllDay << hbTrId("off") |
366 reminderChoicesForAllDay |
372 << hbTrId("On event day") |
367 << hbTrId("txt_calendar_setlabel_reminder_val_off") |
373 << hbTrId("1 day before") |
368 << hbTrId("txt_calendar_setlabel_reminder_val_on_event_day") |
374 << hbTrId("2 days before"); |
369 << hbTrId("txt_calendar_setlabel_reminder_val_1_day_before") |
|
370 << hbTrId("txt_calendar_setlabel_reminder_val_2_days_before"); |
375 mReminderItem->setEnabled(true); |
371 mReminderItem->setEnabled(true); |
376 mCustomReminderTimeItem->setEnabled(true); |
372 mCustomReminderTimeItem->setEnabled(true); |
377 } else { |
373 } else { |
378 reminderChoicesForAllDay << hbTrId("off") |
374 reminderChoicesForAllDay |
379 << hbTrId("On event day") |
375 << hbTrId("txt_calendar_setlabel_reminder_val_off") |
380 << hbTrId("1 day before"); |
376 << hbTrId("txt_calendar_setlabel_reminder_val_on_event_day") |
|
377 << hbTrId("txt_calendar_setlabel_reminder_val_1_day_before"); |
381 mReminderItem->setEnabled(true); |
378 mReminderItem->setEnabled(true); |
382 mCustomReminderTimeItem->setEnabled(true); |
379 mCustomReminderTimeItem->setEnabled(true); |
383 } |
380 } |
384 if (mReminderItem->isEnabled()) { |
381 if (mReminderItem->isEnabled()) { |
385 mReminderItem->setContentWidgetData(QString("items"), |
382 mReminderItem->setContentWidgetData(QString("items"), |