зеркало из https://github.com/mozilla/gecko-dev.git
Bug 307230 Honor default alarm preferences for new events/tasks. Fix eventDialog handling of task alarms. r=mvl
This commit is contained in:
Родитель
61bb44ed0b
Коммит
2f700ce9e5
|
@ -668,6 +668,19 @@ function newEvent(startDate, endDate, allDay)
|
|||
|
||||
calendarEvent.endDate.jsDate = endDate
|
||||
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
var alarmsBranch = prefService.getBranch("calendar.alarms.");
|
||||
|
||||
if (alarmsBranch.getIntPref("onforevents") == 1) {
|
||||
// alarmTime doesn't matter, it just can't be null
|
||||
calendarEvent.alarmTime = createDateTime();
|
||||
|
||||
calendarEvent.setProperty("alarmUnits", alarmsBranch.getCharPref("eventalarmunit"));
|
||||
calendarEvent.setProperty("alarmLength", alarmsBranch.getIntPref("eventalarmlen"));
|
||||
calendarEvent.setProperty("alarmRelation", "START");
|
||||
}
|
||||
|
||||
if (allDay)
|
||||
calendarEvent.startDate.isDate = true;
|
||||
|
||||
|
@ -687,10 +700,28 @@ function newToDo ( startDate, dueDate )
|
|||
|
||||
// created todo has no start or due date unless user wants one
|
||||
if (startDate)
|
||||
calendarToDo.entryTime.jsDate = startDate;
|
||||
calendarToDo.entryDate = jsDateToDateTime(startDate);
|
||||
|
||||
if (dueDate)
|
||||
calendarToDo.dueDate.jsDate = dueDate;
|
||||
calendarToDo.dueDate = jsDateToDateTime(startDate);
|
||||
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
var alarmsBranch = prefService.getBranch("calendar.alarms.");
|
||||
|
||||
if (alarmsBranch.getIntPref("onfortodos") == 1) {
|
||||
// alarmTime doesn't matter, it just can't be null
|
||||
calendarToDo.alarmTime = createDateTime();
|
||||
|
||||
// You can't have an alarm if the entryDate doesn't exist.
|
||||
if (!calendarToDo.entryDate)
|
||||
calendarToDo.entryDate = jsDateToDateTime(
|
||||
gCalendarWindow.currentView.getNewEventDate());
|
||||
|
||||
calendarToDo.setProperty("alarmUnits", alarmsBranch.getCharPref("todoalarmunit"));
|
||||
calendarToDo.setProperty("alarmLength", alarmsBranch.getIntPref("todoalarmlen"));
|
||||
calendarToDo.setProperty("alarmRelation", "START");
|
||||
}
|
||||
|
||||
var calendar = getSelectedCalendarOrNull();
|
||||
|
||||
|
|
|
@ -233,8 +233,10 @@ function loadCalendarEventDialog()
|
|||
} else {
|
||||
setElementValue("alarm-length-field", event.getProperty("alarmLength"));
|
||||
setElementValue("alarm-length-units", event.getProperty("alarmUnits"));
|
||||
var startPickerDisabled = getElementValue("start-datetime", "disabled");
|
||||
var duePickerDisabled = getElementValue("start-datetime", "disabled");
|
||||
if (componentType == "event" ||
|
||||
(componentType == "todo" && !(startPicker.disabled && duePicker.disabled) ) ) {
|
||||
(componentType == "todo" && !(startPickerDisabled && duePickerDisabled) ) ) {
|
||||
// If the event has an alarm email address, assume email alarm type
|
||||
var alarmEmailAddress = event.getProperty("alarmEmailAddress");
|
||||
if (alarmEmailAddress && alarmEmailAddress != "") {
|
||||
|
@ -250,11 +252,11 @@ function loadCalendarEventDialog()
|
|||
// if only one picker is enabled, check that the appropriate related
|
||||
// parameter is chosen
|
||||
if ( (componentType == "event") ||
|
||||
(componentType == "todo" && !startPicker.disabled &&
|
||||
duePicker.disabled && alarmRelated == "START") ||
|
||||
(componentType == "todo" && !startPickerDisabled &&
|
||||
duePickerDisabled && alarmRelated == "START") ||
|
||||
(componentType == "todo" && startPicker.disabled &&
|
||||
!duePicker.disabled && alarmRelated == "END") ||
|
||||
(componentType == "todo" && !startPicker.disabled && !duePicker.disabled) )
|
||||
!duePickerDisabled && alarmRelated == "END") ||
|
||||
(componentType == "todo" && !startPickerDisabled && !duePicker.disabled) )
|
||||
{
|
||||
setElementValue("alarm-trigger-relation", alarmRelated);
|
||||
} else {
|
||||
|
|
Загрузка…
Ссылка в новой задаче