From 9cc3c19409ae95f1bb3323e4a3999dfaf7dbc6c3 Mon Sep 17 00:00:00 2001 From: "pavlov%pavlov.net" Date: Tue, 1 Feb 2005 00:56:51 +0000 Subject: [PATCH] adding support for creating and deleting calendars git-svn-id: svn://10.0.0.236/trunk@168599 18797224-902f-48f8-a5cc-f745e15eee43 --- .../calendar/base/src/calCalendarManager.js | 11 +-- .../calendar/resources/content/calendar.js | 38 ++++++++++- .../calendar/resources/content/calendar.xul | 22 +----- .../resources/content/calendarCreation.xul | 61 +++++++++++++++++ .../resources/content/calendarWindow.js | 67 +++++++++++++++++++ mozilla/calendar/resources/jar.mn | 1 + .../sunbird/base/content/calendar-sets.inc | 2 +- 7 files changed, 169 insertions(+), 33 deletions(-) create mode 100755 mozilla/calendar/resources/content/calendarCreation.xul diff --git a/mozilla/calendar/base/src/calCalendarManager.js b/mozilla/calendar/base/src/calCalendarManager.js index 4cfc15afacc..ed6981028e5 100644 --- a/mozilla/calendar/base/src/calCalendarManager.js +++ b/mozilla/calendar/base/src/calCalendarManager.js @@ -73,21 +73,11 @@ calCalendarManager.prototype = { return this; }, - findDB: function() { - var pathString = "c:\\builds\\mozilla\\objdir-sunbird\\dist\\bin\\calendar.db"; - 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); - return uri.QueryInterface(Components.interfaces.nsIFileURL); - }, - initDB: function() { var calendarTable = "id INTEGER PRIMARY KEY, name STRING, type STRING, uri STRING"; var dbService = Components.classes[kStorageServiceContractID].getService(kStorageServiceIID); this.mDB = dbService.getProfileStorage("profile"); -// this.mDB = dbService.openDatabase(this.findDB().file); try { this.mDB.createTable("cal_calendars", calendarTable); } catch (e) { @@ -138,6 +128,7 @@ calCalendarManager.prototype = { */ createCalendar: function(name, type, uri) { var calendar = Components.classes["@mozilla.org/calendar/calendar;1?type=" + type].createInstance(Components.interfaces.calICalendar); + calendar.name = name; calendar.uri = uri; return calendar; }, diff --git a/mozilla/calendar/resources/content/calendar.js b/mozilla/calendar/resources/content/calendar.js index c2651b5ffbc..088e247ed54 100644 --- a/mozilla/calendar/resources/content/calendar.js +++ b/mozilla/calendar/resources/content/calendar.js @@ -196,8 +196,8 @@ function calendarInit() update_date(); checkForMailNews(); - - //updateColors(); + + //updateColors(); } function updateColors() @@ -333,6 +333,11 @@ function calendarFinish() gICalLib.removeObserver( gEventSource.alarmObserver ); } +function newCalendarDialog() +{ + openDialog("chrome://calendar/content/calendarCreation.xul", "caEditServer", "chrome,titlebar,modal" ); +} + function launchPreferences() { if (applicationName == "Mozilla" || applicationName == "Firebird") @@ -723,6 +728,11 @@ function createAttachment() return Components.classes["@mozilla.org/calendar/attachment;1"].createInstance(Components.interfaces.calIAttachment); } +function getCalendarManager() +{ + return Components.classes["@mozilla.org/calendar/manager;1"].getService(Components.interfaces.calICalendarManager); +} + function makeURL(uriString) { var ioservice = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService); @@ -1671,3 +1681,27 @@ function calendarDefaultTimezone() { return gDefaultTimezone; } + +function doCreateWizardFinish() +{ + var name = document.getElementById("calendar-name").value; + var uri = document.getElementById("calendar-uri").value; + var type = document.getElementById("initial-radiogroup").value; + + dump(name + "\n"); + dump(uri + "\n"); + dump(type + "\n"); + + var calManager = getCalendarManager(); + try { + var newCalendar = calManager.createCalendar(name, type, makeURL(uri)); + } catch (ex) { + dump(ex); + return false; + } + calManager.registerCalendar(newCalendar); + + addCalendarToUI(newCalendar); + + return true; +} diff --git a/mozilla/calendar/resources/content/calendar.xul b/mozilla/calendar/resources/content/calendar.xul index 3f396d6ace3..0f9a037a116 100644 --- a/mozilla/calendar/resources/content/calendar.xul +++ b/mozilla/calendar/resources/content/calendar.xul @@ -99,7 +99,7 @@ - + @@ -518,7 +518,7 @@ + contextmenu="calendarlist-context-menu"> @@ -527,24 +527,6 @@ - diff --git a/mozilla/calendar/resources/content/calendarCreation.xul b/mozilla/calendar/resources/content/calendarCreation.xul new file mode 100755 index 00000000000..f65a491bd22 --- /dev/null +++ b/mozilla/calendar/resources/content/calendarCreation.xul @@ -0,0 +1,61 @@ + + + + + + + + + + +