calendarui/caleneditor/src/caleneditorreminderfield.cpp
changeset 32 ea672fcb0ea0
parent 26 a949c2543c15
child 50 579cc610882e
equal deleted inserted replaced
26:a949c2543c15 32:ea672fcb0ea0
    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"),