mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 05:45:37 +00:00
use the calendar manager to create a calendar. use the selected calendar as the current calendar for displaying events.
This commit is contained in:
parent
628c60a44d
commit
c70d38362d
@ -174,8 +174,6 @@ function calendarInit()
|
||||
// XXX remove this eventually
|
||||
gICalLib = new Object();
|
||||
|
||||
gCalendar = createCalendar();
|
||||
|
||||
// set up the CalendarWindow instance
|
||||
|
||||
gCalendarWindow = new CalendarWindow();
|
||||
@ -739,32 +737,17 @@ function makeURL(uriString)
|
||||
return ioservice.newURI(uriString, null, null);
|
||||
}
|
||||
|
||||
function createCalendar()
|
||||
function getCalendar()
|
||||
{
|
||||
var prefobj = prefService.getBranch("calendar.");
|
||||
var caltype = getCharPref(prefobj, "default-calendar.type", "memory");
|
||||
var calendar = Components.classes["@mozilla.org/calendar/calendar;1?type=" + caltype].getService(Components.interfaces.calICalendar);
|
||||
if (calendar.uri || caltype == "memory")
|
||||
return calendar;
|
||||
|
||||
var uri = null;
|
||||
if (caltype == "caldav" || caltype == "ics") {
|
||||
var uriString = getCharPref(prefobj, "default-calendar.uri", null);
|
||||
uri = makeURL(uriString);
|
||||
} else if (caltype == "storage") {
|
||||
var pathString = getCharPref(prefobj, "default-calendar.path", null);
|
||||
var dbFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
|
||||
dbFile.initWithPath(pathString);
|
||||
var ioservice = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
|
||||
uri = ioservice.newFileURI(dbFile);
|
||||
}
|
||||
|
||||
if (!uri) {
|
||||
throw "Calendar type " + caltype +
|
||||
" requires that default-calendar.uri pref be set!";
|
||||
}
|
||||
calendar.uri = uri;
|
||||
return calendar;
|
||||
var calendarList = document.getElementById("list-calendars-listbox");
|
||||
try {
|
||||
var selectedCalendar = calendarList.currentItem.calendar;
|
||||
return selectedCalendar;
|
||||
} catch(e) {
|
||||
newCalendarDialog();
|
||||
var selectedCalendar = calendarList.currentItem.calendar;
|
||||
return selectedCalendar;
|
||||
}
|
||||
}
|
||||
|
||||
function isEvent(aObject)
|
||||
@ -1032,11 +1015,13 @@ function saveItem( calendarEvent, Server, functionToRun, originalEvent )
|
||||
{
|
||||
dump(functionToRun + " " + calendarEvent.title + "\n");
|
||||
|
||||
var calendar = getCalendar();
|
||||
|
||||
if (functionToRun == 'addEvent')
|
||||
gCalendar.addItem(calendarEvent, null);
|
||||
calendar.addItem(calendarEvent, null);
|
||||
|
||||
else if (functionToRun == 'modifyEvent')
|
||||
gCalendar.modifyItem(calendarEvent, null);
|
||||
calendar.modifyItem(calendarEvent, null);
|
||||
|
||||
|
||||
|
||||
@ -1133,7 +1118,7 @@ function deleteItems( SelectedItems, DoNotConfirm )
|
||||
}
|
||||
}
|
||||
|
||||
ccalendar = createCalendar();
|
||||
ccalendar = getCalendar();
|
||||
|
||||
for (i in SelectedItems) {
|
||||
ccalendar.deleteItem(SelectedItems[i], null);
|
||||
@ -1388,16 +1373,16 @@ function print()
|
||||
args.selectedDate=gNewDateVariable = gCalendarWindow.getSelectedDate();
|
||||
|
||||
var Offset = getIntPref(gCalendarWindow.calendarPreferences.calendarPref,
|
||||
"week.start",
|
||||
gCalendarBundle.getString("defaultWeekStart" ) );
|
||||
"week.start",
|
||||
gCalendarBundle.getString("defaultWeekStart" ) );
|
||||
var WeeksInView = getIntPref(gCalendarWindow.calendarPreferences.calendarPref,
|
||||
"weeks.inview",
|
||||
gCalendarBundle.getString("defaultWeeksInView" ) );
|
||||
"weeks.inview",
|
||||
gCalendarBundle.getString("defaultWeeksInView" ) );
|
||||
WeeksInView = ( WeeksInView >= 6 ) ? 6 : WeeksInView ;
|
||||
|
||||
var PreviousWeeksInView = getIntPref(gCalendarWindow.calendarPreferences.calendarPref,
|
||||
"previousweeks.inview",
|
||||
gCalendarBundle.getString("defaultPreviousWeeksInView" ) );
|
||||
"previousweeks.inview",
|
||||
gCalendarBundle.getString("defaultPreviousWeeksInView" ) );
|
||||
PreviousWeeksInView = ( PreviousWeeksInView >= WeeksInView - 1 ) ? WeeksInView - 1 : PreviousWeeksInView ;
|
||||
|
||||
args.startOfWeek=Offset;
|
||||
@ -1701,7 +1686,20 @@ function doCreateWizardFinish()
|
||||
}
|
||||
calManager.registerCalendar(newCalendar);
|
||||
|
||||
addCalendarToUI(newCalendar);
|
||||
addCalendarToUI(window.opener.document, newCalendar);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function addCalendarToUI(doc, calendar)
|
||||
{
|
||||
var listItem = doc.createElement("listitem");
|
||||
var listCell = doc.createElement("listcell");
|
||||
listCell.setAttribute("label", calendar.name);
|
||||
listItem.appendChild(listCell);
|
||||
listItem.calendar = calendar;
|
||||
var calendarList = doc.getElementById("list-calendars-listbox");
|
||||
calendarList.appendChild(listItem);
|
||||
if (calendarList.selectedIndex == -1)
|
||||
calendarList.selectedIndex = 0;
|
||||
}
|
||||
|
@ -138,6 +138,13 @@ function CalendarWindow( )
|
||||
|
||||
var calendarWindow = this;
|
||||
|
||||
// fill in the calendars list
|
||||
dump("\n\n\nlooking for calendars!!\n\n\n");
|
||||
var calendars = getCalendarManager().getCalendars({});
|
||||
for (var i = 0; i < calendars.length; i++) {
|
||||
dump(calendars[i]);
|
||||
addCalendarToUI(document, calendars[i]);
|
||||
}
|
||||
|
||||
var savedThis = this;
|
||||
var calendarObserver = {
|
||||
@ -150,21 +157,13 @@ function CalendarWindow( )
|
||||
onAlarm: function(aAlarmItem) {},
|
||||
onError: function(aErrNo, aMessage) { }
|
||||
}
|
||||
var calendar = createCalendar();
|
||||
var calendar = getCalendar();
|
||||
calendar.addObserver(calendarObserver, calendar.ITEM_FILTER_TYPE_ALL);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// fill in the calendars list
|
||||
dump("\n\n\nlooking for calendars!!\n\n\n");
|
||||
var calendars = getCalendarManager().getCalendars({});
|
||||
for (var i = 0; i < calendars.length; i++) {
|
||||
dump(calendars[i]);
|
||||
addCalendarToUI(calendars[i]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
@ -246,20 +245,6 @@ function CalendarWindow( )
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
function addCalendarToUI(calendar)
|
||||
{
|
||||
var listItem = document.createElement("listitem");
|
||||
var listCell = document.createElement("listcell");
|
||||
listCell.setAttribute("label", calendar.name);
|
||||
listItem.appendChild(listCell);
|
||||
listItem.calendar = calendar;
|
||||
var calendarList = document.getElementById("list-calendars-listbox");
|
||||
calendarList.appendChild(listItem);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** PUBLIC
|
||||
*
|
||||
* You must call this when you have finished with the CalendarWindow.
|
||||
|
@ -132,7 +132,7 @@ DayView.prototype.refreshEvents = function()
|
||||
}
|
||||
};
|
||||
|
||||
var ccalendar = createCalendar(); // XXX Should get the composite calendar here
|
||||
var ccalendar = getCalendar(); // XXX Should get the composite calendar here
|
||||
|
||||
dump("Fetching events from " + startDate.toString() + " to " + endDate.toString() + "\n");
|
||||
|
||||
|
@ -250,7 +250,7 @@ MonthView.prototype.refreshEvents = function()
|
||||
}
|
||||
};
|
||||
|
||||
var ccalendar = createCalendar(); // XXX Should get the composite calendar here
|
||||
var ccalendar = getCalendar(); // XXX Should get the composite calendar here
|
||||
|
||||
dump("Fetching events from " + startDate.toString() + " to " + endDate.toString() + "\n");
|
||||
|
||||
|
@ -258,7 +258,7 @@ MultiweekView.prototype.refreshEvents = function multiweekView_refreshEvents( )
|
||||
}
|
||||
};
|
||||
|
||||
var ccalendar = createCalendar();
|
||||
var ccalendar = getCalendar();
|
||||
|
||||
ccalendar.getItems(ccalendar.ITEM_FILTER_TYPE_EVENT | ccalendar.ITEM_FILTER_CLASS_OCCURRENCES,
|
||||
0, jsDateToDateTime(startDate), jsDateToDateTime(endDate),
|
||||
|
@ -589,7 +589,7 @@ function refreshEventTree( eventArray )
|
||||
var StartDate = new Date( Today.getFullYear(), Today.getMonth(), Today.getDate(), 0, 0, 0 );
|
||||
var EndDate;
|
||||
|
||||
var calendar = createCalendar();
|
||||
var calendar = getCalendar();
|
||||
var filter = 0;
|
||||
|
||||
filter |= calendar.ITEM_FILTER_TYPE_EVENT;
|
||||
|
@ -94,7 +94,7 @@ var unifinderToDoDataSourceObserver =
|
||||
|
||||
function prepareCalendarToDoUnifinder()
|
||||
{
|
||||
var calendar = createCalendar();
|
||||
var calendar = getCalendar();
|
||||
calendar.addObserver(unifinderToDoDataSourceObserver, calendar.ITEM_FILTER_TYPE_TODO);
|
||||
toDoUnifinderRefresh();
|
||||
}
|
||||
@ -143,7 +143,7 @@ function toDoUnifinderRefresh()
|
||||
}
|
||||
};
|
||||
|
||||
var calendar = createCalendar();
|
||||
var calendar = getCalendar();
|
||||
var filter = 0;
|
||||
if (hideCompleted)
|
||||
filter |= calendar.ITEM_FILTER_COMPLETED_NO;
|
||||
@ -232,7 +232,7 @@ function checkboxClick(thisTodo, completed)
|
||||
newTodo.percentComplete = 0;
|
||||
}
|
||||
|
||||
var calendar = createCalendar();
|
||||
var calendar = getCalendar();
|
||||
calendar.modifyItem (newTodo, null);
|
||||
}
|
||||
|
||||
@ -542,7 +542,7 @@ function contextChangeProgress( event, Progress )
|
||||
{
|
||||
var newItem = todoItem.clone().QueryInterface(Components.interfaces.calITodo);
|
||||
newItem.percentComplete = Progress;
|
||||
var calendar = createCalendar();
|
||||
var calendar = getCalendar();
|
||||
calendar.modifyItem (newItem, null);
|
||||
}
|
||||
}
|
||||
@ -560,7 +560,7 @@ function contextChangePriority( event, Priority )
|
||||
{
|
||||
var newItem = todoItem.clone().QueryInterface(Components.interfaces.calITodo);
|
||||
newItem.priority = Priority;
|
||||
var calendar = createCalendar();
|
||||
var calendar = getCalendar();
|
||||
calendar.modifyItem (newItem, null);
|
||||
}
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ WeekView.prototype.refreshEvents = function()
|
||||
}
|
||||
};
|
||||
|
||||
var ccalendar = createCalendar(); // XXX Should get the composite calendar here
|
||||
var ccalendar = getCalendar(); // XXX Should get the composite calendar here
|
||||
|
||||
debug("Fetching events from " + this.displayStartDate.toString() + " to " + this.displayEndDate.toString() + "\n");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user