diff --git a/calendar/base/content/calendar-alarm-dialog.js b/calendar/base/content/calendar-alarm-dialog.js index 223c43d611cc..bef95d7eb747 100644 --- a/calendar/base/content/calendar-alarm-dialog.js +++ b/calendar/base/content/calendar-alarm-dialog.js @@ -46,6 +46,21 @@ function addAlarm(event) alarmWidget.item = event; alarmList.appendChild(alarmWidget); + + var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); + var calendarPrefs = prefService.getBranch("calendar."); + + var playSound = calendarPrefs.getBoolPref("alarms.playsound"); + if (playSound) { + try { + var soundURL = makeURL(calendarPrefs.getCharPref("alarms.soundURL")); + var sound = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound); + sound.init(); + sound.play(soundURL); + } catch (ex) { + dump("unable to play sound...\n" + ex + "\n"); + } + } } function removeAlarm(event) diff --git a/calendar/base/content/calendar-alarm-dialog.xul b/calendar/base/content/calendar-alarm-dialog.xul index 37db6f34ac60..ee4cf69a0a14 100644 --- a/calendar/base/content/calendar-alarm-dialog.xul +++ b/calendar/base/content/calendar-alarm-dialog.xul @@ -24,6 +24,7 @@