From 032e5d18edde5c7f6e36c30e34625a43d83e8b96 Mon Sep 17 00:00:00 2001 From: "jminta%gmail.com" Date: Mon, 20 Mar 2006 13:31:27 +0000 Subject: [PATCH] Bug 327805 Use calendar name as initial filename during calendar export. patch by ssitter, r=jminta --- calendar/base/content/import-export.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/calendar/base/content/import-export.js b/calendar/base/content/import-export.js index ad6d8c297f56..73f34c22b1bf 100644 --- a/calendar/base/content/import-export.js +++ b/calendar/base/content/import-export.js @@ -193,10 +193,13 @@ function putItemsIntoCal(destCal) { * saveEventsToFile * * Save data to a file. Create the file or overwrite an existing file. - * Input an array of calendar events, or no parameter for selected events. + * + * @param calendarEventArray (required) Array of calendar events that should + * be saved to file. + * @param aDefaultFileName (optional) Initial filename shown in SaveAs dialog. */ -function saveEventsToFile(calendarEventArray) +function saveEventsToFile(calendarEventArray, aDefaultFileName) { if (!calendarEventArray) return; @@ -216,10 +219,13 @@ function saveEventsToFile(calendarEventArray) fp.init(window, getCalStringBundle().GetStringFromName("SaveAs"), nsIFilePicker.modeSave); - if(calendarEventArray.length == 1 && calendarEventArray[0].title) - fp.defaultString = calendarEventArray[0].title; - else + if (aDefaultFileName && aDefaultFileName.length && aDefaultFileName.length > 0) { + fp.defaultString = aDefaultFileName; + } else if (calendarEventArray.length == 1 && calendarEventArray[0].title) { + fp.defaultString = calendarEventArray[0].title; + } else { fp.defaultString = getCalStringBundle().GetStringFromName("defaultFileName"); + } fp.defaultExtension = "ics"; @@ -296,7 +302,7 @@ function exportEntireCalendar(aCalendar) { var getListener = { onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) { - saveEventsToFile(itemArray); + saveEventsToFile(itemArray, aCalendar.name); }, onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) {