From 97f14603cfc50f1fbf4a64e407f2859954cf5b63 Mon Sep 17 00:00:00 2001 From: "pavlov%pavlov.net" Date: Fri, 3 Jun 2005 20:27:27 +0000 Subject: [PATCH] fixing all-day to adjust the start/end dates appropriatly --- .../base/content/calendar-event-dialog.js | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/calendar/base/content/calendar-event-dialog.js b/calendar/base/content/calendar-event-dialog.js index ddb68906a2d5..704a89c904fc 100644 --- a/calendar/base/content/calendar-event-dialog.js +++ b/calendar/base/content/calendar-event-dialog.js @@ -103,13 +103,20 @@ function loadDialog() setElementValue("event-title", event.title); setElementValue("event-all-day", event.isAllDay, "checked"); - setElementValue("event-starttime", event.startDate.getInTimezone(kDefaultTimezone).jsDate); - setElementValue("event-endtime", event.endDate.getInTimezone(kDefaultTimezone).jsDate); - setElementValue("event-location", event.getProperty("LOCATION")); setElementValue("event-url", event.getProperty("URL")); setElementValue("event-description", event.getProperty("DESCRIPTION")); + /* all day */ + var startDate = event.startDate.getInTimezone(kDefaultTimezone); + var endDate = event.endDate.getInTimezone(kDefaultTimezone); + if (startDate.isDate) { + endDate.day -= 1; + endDate.normalize(); + } + setElementValue("event-starttime", startDate.jsDate); + setElementValue("event-endtime", endDate.jsDate); + /* attendence */ var attendeeString = ""; for each (var attendee in event.getAttendees({})) { @@ -149,14 +156,22 @@ function loadDialog() function saveDialog(event) { event.title = getElementValue("event-title"); + event.isAllDay = getElementValue("event-all-day", "checked"); event.startDate = jsDateToDateTime(getElementValue("event-starttime")); event.endDate = jsDateToDateTime(getElementValue("event-endtime")); - event.isAllDay = getElementValue("event-all-day", "checked"); setEventProperty(event, "LOCATION", getElementValue("event-location")); setEventProperty(event, "URL", getElementValue("event-url")); setEventProperty(event, "DESCRIPTION", getElementValue("event-description")); + /* all day */ + if (event.isAllDay) { + event.startDate.isDate = true; + event.endDate.isDate = true; + event.endDate.day += 1; + event.endDate.normalize(); + } + /* attendence */ event.removeAllAttendees(); var attendees = getElementValue("event-attendees"); @@ -171,10 +186,8 @@ function saveDialog(event) /* recurrence */ if (getElementValue("event-recurrence", "checked")) { if (window.recurrenceInfo) { - dump("setting recurrenceInfo!\n"); event.recurrenceInfo = window.recurrenceInfo; - } else - dump("not setting recurrenceInfo\n"); + } } else { event.recurrenceInfo = null; }