Commit dbbfbf3f authored by Mechtilde Stehmann's avatar Mechtilde Stehmann Committed by Mechtilde

Import Debian changes 4.0.0~beta2-1

calendar-exchange-provider (4.0.0~beta2-1) unstable; urgency=medium

  * New upstream release 
    + Changin history_en_US.txt to CHANGELOG.md
  * Changing dependency and build dependency in control (>= 52)
  * Adapt description to thunderbird transition
  * Analog to thunderbird bump to sid  
parents 7ae8313f 41e02234
This diff is collapsed.
......@@ -12,10 +12,14 @@ overlay chrome://calendar/content/calendar-calendars-list.xul chrome://exchangec
overlay chrome://messenger/content/messenger.xul chrome://exchangecalendar/content/progress_panel.xul
overlay chrome://calendar/content/calendar-task-view.xul chrome://exchangecalendar/content/messenger_task_delegation.xul
overlay chrome://lightning/content/lightning-standalone.xul chrome://exchangecalendar/content/progress_panel.xul
overlay chrome://calendar/content/calendar-event-dialog.xul chrome://exchangecalendar/content/calendar-event-dialog.xul
overlay chrome://lightning/content/lightning-item-iframe.xul chrome://exchangecalendar/content/lightning-item-iframe.xul
overlay chrome://calendar/content/calendar-event-dialog-reminder.xul chrome://exchangecalendar/content/calendar-event-dialog-reminder.xul
overlay chrome://calendar/content/calendar-summary-dialog.xul chrome://exchangecalendar/content/calendar-summary-dialog.xul
overlay chrome://calendar/content/calendar-properties-dialog.xul chrome://exchangecalendar/content/calendar-properties-dialog.xul
overlay chrome://messenger/content/messenger.xul chrome://exchangecalendar/content/sharedCalendarParser.xul application={3550f703-e582-4d05-9a08-453d09bdfdc6}
overlay chrome://messenger/content/messenger.xul chrome://exchangecalendar/content/check4lightning.xul
overlay chrome://messenger/content/preferences/preferences.xul chrome://exchangecalendar/content/messenger-overlay-preferences.xul
......
......@@ -44,6 +44,7 @@ function exchAttachments(aDocument, aWindow)
}
exchAttachments.prototype = {
_initialized: false,
addAttachmentDialog: function _addAttachmentDialog()
{
......@@ -227,45 +228,75 @@ exchAttachments.prototype = {
}
},
/**
* Receives asynchronous messages from the parent context that contains the iframe.
*
* @param {MessageEvent} aEvent Contains the message being received
*/
receiveMessage: function _receiveMessage(aEvent) {
let validOrigin = gTabmail ? "chrome://messenger" : "chrome://calendar";
if (aEvent.origin !== validOrigin) {
return;
}
switch (aEvent.data.command) {
case "exchWebService_addAttachmentDialog": this.addAttachmentDialog(); break;
}
},
onLoad: function _onLoad()
{
if(this._initialized){
return;
}
var self = this;
if (this._document.getElementById("calendar-task-tree")) {
this.globalFunctions.LOG(" -- calendar-task-tree --");
var self = this;
this._document.getElementById("calendar-task-tree").addEventListener("select", function(){ self.onSelectTask();}, true);
return;
}
}
var args = this._window.arguments[0];
var item = args.calendarEvent;
//this.globalFunctions.LOG(" -- onLoad 2 ("+this.globalFunctions.STACKshort()+")");
this.attachmentListboxVisible = false;
// We can't update toolbar from iframe
if ((item.calendar) && (item.calendar.type == "exchangecalendar")) {
this.globalFunctions.LOG(" -- It is an Exchange Calendar event:"+item.title);
try {
// Hide Lightning URL button
this._document.getElementById("button-url").hidden = true;
this._document.getElementById("event-toolbar").setAttribute("currentset", "button-save,button-attendees,button-privacy,button-url,exchWebService-add-attachment-button,button-delete");
this._document.getElementById("exchWebService-add-attachment-button").hidden = false;
if(this._document.getElementById("options-attachments-menuitem")){
this._document.getElementById("options-attachments-menuitem").setAttribute("label", this._document.getElementById("exchWebService-add-attachment-button").getAttribute("label"));
this._document.getElementById("options-attachments-menuitem").setAttribute("command", "exchWebService_addAttachmentDialog");
}
if (this._document.getElementById("event-grid-attachment-row")) {
this._document.getElementById("event-grid-attachment-row").collapsed = true;
}
catch (ex) {this.globalFunctions.LOG(" -- Could not add exchange attachment buttons:"+ex.toString());}
// calendar-event-dialog (hide existing attachment view)
try {
this._document.getElementById("event-grid-attachment-row").setAttribute("collapsed", "true");
}
catch (ex) {}
// Modify context menu for the attachment list inside the "Attachment" panel
let attachmentListbox = this._document.getElementById("attachment-link");
attachmentListbox.context = "exchWebService-attachment-popup" ;
attachmentListbox.onkeypress = function (aEvent) { self.onKeyPress(aEvent); };
attachmentListbox.onclick = function (aEvent) { self.onSelect(aEvent); };
attachmentListbox.ondblclick = function (aEvent) { self.onDblClick(aEvent); };
this.addAttachmentsFromItem(item);
} else {
if (this._document.getElementById("event-grid-attachment-row")) {
this._document.getElementById("event-grid-attachment-row").collapsed = false;
}
// Modify context menu for the attachment list inside the "Attachment" panel
let attachmentListbox = this._document.getElementById("attachment-link");
attachmentListbox.context = "attachment-popup" ;
attachmentListbox.onkeypress="attachmentLinkKeyPress(event)" ;
attachmentListbox.onclick="attachmentClick(event);" ;
attachmentListbox.ondblclick="attachmentDblClick(event)" ;
}
// Add message listener to be able to receive message from parent window or tab
window.addEventListener("message", function(aEvent) { self.receiveMessage(aEvent); }, false);
this._initialized = true;
},
addAttachmentsFromItem: function _addAttachmentsFromItem(aItem)
......@@ -584,6 +615,6 @@ exchAttachments.prototype = {
}
var tmpAttachment = new exchAttachments(document, window);
window.addEventListener("load", function _onLoad() { window.removeEventListener("load",arguments.callee,false); tmpAttachment.onLoad(); }, true);
window.addEventListener("load", function _onLoad() { tmpAttachment.onLoad(); }, false);
......@@ -47,20 +47,19 @@
<overlay id="exchWebService-attachment-view"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://exchangecalendar/content/attachments-view.js"/>
<script type="application/javascript" src="chrome://exchangecalendar/content/attachments-view.js"/>
<!-- Commands -->
<commandset id="itemCommands">
<commandset>
<command id="exchWebService_openAttachment"
oncommand="tmpAttachment.openAttachment();"/>
oncommand="tmpAttachment.openAttachment();"/>
<command id="exchWebService_saveAttachment"
oncommand="tmpAttachment.saveAttachment();"/>
oncommand="tmpAttachment.saveAttachment();"/>
<command id="exchWebService_deleteAttachment"
oncommand="tmpAttachment.deleteAttachment();"/>
<command id="exchWebService_addAttachmentDialog"
oncommand="tmpAttachment.addAttachmentDialog();"/>
oncommand="tmpAttachment.deleteAttachment();"/>
</commandset>
<!-- Update context popup-->
<popupset id="event-dialog-popupset">
<menupopup id="exchWebService-attachment-popup">
<menuitem id="exchWebService-attachment-popup-open"
......@@ -74,26 +73,9 @@
<menuitem id="exchWebService-attachment-popup-delete"
label="&event.menu.item.delete.label;"
accesskey="&event.menu.item.delete.accesskey;"
disable-on-readonly="true"
disable-on-readonly="true"
command="exchWebService_deleteAttachment"/>
</menupopup>
</popupset>
<toolbarpalette id="event-toolbarpalette">
<toolbarbutton id="exchWebService-add-attachment-button"
mode="dialog"
class="cal-event-toolbarbutton toolbarbutton-1"
label="&exchWebServie.add.attachment.button.label;"
disable-on-readonly="true"
removable="true"
command="exchWebService_addAttachmentDialog"
oncommand="tmpAttachment.addAttachmentDialog();"
hidden="true"/>
</toolbarpalette>
<toolbar id="event-toolbar" defaultset="button-save,button-attendees,button-privacy,button-url,exchWebService-add-attachment-button,button-delete">
</toolbar>
</overlay>
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!--
/* ***** BEGIN LICENSE BLOCK *****
* Version: GPL 3.0
*
* The contents of this file are subject to the General Public License
* 3.0 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.gnu.org/licenses/gpl.html
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* ## Exchange 2007/2010 Calendar and Tasks Provider.
* ## For Thunderbird with the Lightning add-on.
*
* Author: Michel Verbraak (info@1st-setup.nl)
* Website: http://www.1st-setup.nl/wordpress/?page_id=133
* email: exchangecalendar@extensions.1st-setup.nl
*
*
* This code uses parts of the Microsoft Exchange Calendar Provider code on which the
* "Exchange Data Provider for Lightning" was based.
* The Initial Developer of the Microsoft Exchange Calendar Provider Code is
* Andrea Bittau <a.bittau@cs.ucl.ac.uk>, University College London
* Portions created by the Initial Developer are Copyright (C) 2009
* the Initial Developer. All Rights Reserved.
*
* ***** BEGIN LICENSE BLOCK *****/
-->
<?xml-stylesheet type="text/css" href="chrome://global/skin/"?>
<?xml-stylesheet type="text/css" href="chrome://global/skin/xul.css"?>
<?xml-stylesheet type="text/css" href="chrome://messenger/skin/messengercompose/messengercompose.css"?>
<?xml-stylesheet type="text/css" href="chrome://exchangecalendar/skin/itemBodyEditor.css"?>
<?xml-stylesheet type="text/css" href="chrome://exchangecalendar/skin/exchWebServiceEditor.css"?>
<!DOCTYPE dialog [
<!ENTITY % eventDialogDTD SYSTEM "chrome://calendar/locale/calendar-event-dialog.dtd">
<!ENTITY % eventDialogDTD SYSTEM "chrome://calendar/locale/calendar-event-dialog.dtd">
%eventDialogDTD;
<!ENTITY % dtd1 SYSTEM "chrome://exchangecalendar/locale/calendar-event-dialog.dtd" >
<!ENTITY % dtd1 SYSTEM "chrome://exchangecalendar/locale/attachments-view.dtd" >
%dtd1;
]>
<?xul-overlay href="chrome://exchangecalendar/content/attachments-view.xul"?>
<overlay id="exchWebService-calendar-event-dialog.xul"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<?xml-stylesheet type="text/css" href="chrome://exchangecalendar/skin/attachments-view.css"?>
<?xml-stylesheet type="text/css" href="chrome://calendar/skin/calendar-event-dialog.css"?>
<?xml-stylesheet type="text/css" href="chrome://calendar/content/calendar-event-dialog.css"?>
<overlay id="exchWebService-calendar-event-dialog"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://exchangecalendar/content/calendar-event-dialog.js"/>
<script type="application/javascript" src="chrome://calendar/content/calendar-event-dialog.js"/>
<!-- Override default attendees command for Options menu -->
<command id="cmd_attendees"
oncommand="exchToolsEventDialog.editAttendees();"/>
<!-- Commands -->
<commandset id="itemCommands">
<command id="exchWebService_addAttachmentDialog"
oncommand='sendMessage( {command: "exchWebService_addAttachmentDialog"} );'/>
</commandset>
<!-- Update windows menu -->
<toolbox id="event-toolbox">
<menubar id="event-menubar">
<menu id="options-menu">
<menupopup id="options-menupopup">
<menu id="options-attachments-menu"
collapsed="false" />
<menuitem id="exchWebService-options-attachments"
insertafter="options-attendees-menuitem"
label="&exchWebServie.add.attachment.button.label;"
command="exchWebService_addAttachmentDialog"
collapsed="true" />
</menupopup>
</menu>
</menubar>
</toolbox>
<!-- Update toolbar -->
<toolbarpalette id="event-toolbarpalette">
<toolbarbutton id="exchWebService-add-attachment-button"
mode="dialog"
class="cal-event-toolbarbutton toolbarbutton-1"
label="&exchWebServie.add.attachment.button.label;"
disable-on-readonly="true"
removable="true"
command="exchWebService_addAttachmentDialog"
hidden="true"/>
</toolbarpalette>
<!-- Add exchangecalendar attachment button
Note: defaultset needs to be synced with common-central/calendar/base/content/dialogs/calendar-event-dialog.xul -->
<toolbar id="event-toolbar"
defaultset="button-saveandclose,button-attendees,button-privacy,button-url,exchWebService-add-attachment-button,button-delete" >
</toolbar>
<rows id="event-grid-rows" insertbefore = "event-grid-alarmrow">
<row id="exchWebService-owner-row" collapsed="true" insertafter="event-grid-title-row">
<label value="&exchWebService.owner.label;"/>
<label id="exchWebService-owner-label" value=""/>
</row>
<row id="event-grid-category-color-row">
<hbox id="event-grid-category-box">
<menulist id="item-calendar" oncommand="exchToolsEventDialog.selectedCalendarChanged(this);"/>
</hbox>
</row>
<separator id="exchWebService-details-separator" hidden="true" class="groove" insertafter="event-grid-todo-status-row"/>
<row id="exchWebService-details-row1" align="center"
collapsed="true" insertafter="exchWebService-details-separator">
<label value="&exchWebService.totalWork.label;"
disable-on-readonly="true"/>
<hbox align="center">
<textbox id="exchWebService-totalWork-count"
increment="10" min="0" type="number" size="3" value="0" disable-on-readonly="true"/>
<label value="&exchWebService.mileage.label;"
disable-on-readonly="true"/>
<textbox id="exchWebService-mileage-count" value="" disable-on-readonly="true"/>
</hbox>
</row>
<row id="exchWebService-details-row2" align="center"
collapsed="true" insertafter="exchWebService-details-row1">
<label value="&exchWebService.actualWork.label;"
disable-on-readonly="true"/>
<hbox align="center">
<textbox id="exchWebService-actualWork-count"
increment="10" min="0" type="number" size="3" value="0" disable-on-readonly="true"/>
<label value="&exchWebService.billingInformation.label;"
disable-on-readonly="true"/>
<textbox id="exchWebService-billingInformation-count" value="" disable-on-readonly="true"/>
</hbox>
</row>
<row id="exchWebService-details-row3" align="center"
collapsed="true" insertafter="exchWebService-details-row2">
<label value="&exchWebService.companies.label;"
disable-on-readonly="true"/>
<textbox id="exchWebService-companies-count" value="" disable-on-readonly="true"/>
</row>
</rows>
<tabbox
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="event-grid-tabbox" selectedIndex="2" flex="1">
<tabpanels id="event-grid-tabpanels" flex="1" selectedIndex="2">
<tabpanel id="event-grid-tabpanel-description">
<itemBodyEditor id="exchWebService-body-editor"
flex="1"
insertafter="item-description"
disable-on-readonly="true"/>
</tabpanel>
</tabpanels>
</tabbox>
</overlay>
......@@ -216,7 +216,13 @@
}
this.atomService = Components.classes["@mozilla.org/atom-service;1"].getService(Components.interfaces.nsIAtomService);
this.atomService = Components.classes["@mozilla.org/atom-service;1"]
.getService(Components.interfaces.nsIAtomService);
// Set initial content to empty HTML body
this.globalFunctions = Components.classes["@1st-setup.nl/global/functions;1"]
.getService(Components.interfaces.mivFunctions);
this.editorElement.contentDocument.documentElement.innerHTML = this.globalFunctions.fromText2HTML(null);
this.connectButtons("FormatToolbar");
// Connect color button
......@@ -248,7 +254,6 @@
this.editLinkFunction = function(){ self.editLink();};
var editLinkElement = document.getAnonymousElementByAttribute(this, "anonid", "cmd_edit_link")
editLinkElement.addEventListener("click", this.editLinkFunction, true);
]]></constructor>
<destructor><![CDATA[
......@@ -272,24 +277,24 @@
document.getAnonymousElementByAttribute(this, "anonid", "cmd_edit_link").removeEventListener("click", this.editLinkFunction, true);
]]></destructor>
<property name="content">
<getter>
<![CDATA[
return this.editorElement.contentDocument.documentElement.innerHTML;
]]>
</getter>
<setter>
<![CDATA[
if (this.editorElement) {
this.editorElement.contentDocument.documentElement.innerHTML = val;
}
]]>
</setter>
</property>
<property name="content">
<getter>
<![CDATA[
return this.editorElement.contentDocument.documentElement.innerHTML;
]]>
</getter>
<setter>
<![CDATA[
if (this.editorElement) {
this.editorElement.contentDocument.documentElement.innerHTML = this.globalFunctions.fromText2HTML(val);
}
]]>
</setter>
</property>
<method name="fillFontFace">
<body><![CDATA[
if (gExchWebServiceLocalFonts == undefined) {
if (gExchWebServiceLocalFonts === undefined) {
// Build list of all local fonts once per editor
try {
var enumerator = Components.classes["@mozilla.org/gfx/fontenumerator;1"]
......@@ -300,7 +305,7 @@
catch(e) { }
}
if (gExchWebServiceLocalFonts != undefined) {
if (gExchWebServiceLocalFonts !== undefined) {
var itemNode = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "menuitem");
itemNode.setAttribute("label", "Variable width");
......@@ -335,7 +340,7 @@
if (toolbar) {
var toolbarButtons = toolbar.getElementsByTagName("xul:toolbarbutton");
for (var i=0; i<toolbarButtons.length;i++) {
if ((toolbarButtons[i].hasAttribute("connect")) && (toolbarButtons[i].getAttribute("connect") == "true")) {
if ((toolbarButtons[i].hasAttribute("connect")) && (toolbarButtons[i].getAttribute("connect") === "true")) {
this.connectButton(toolbarButtons[i].getAttribute("anonid"), aAnonId);
}
}
......@@ -391,10 +396,7 @@
<method name="onKeyPressEditor">
<parameter name="aEvent" />
<body><![CDATA[
//if (aEvent) {
//dump("aEvent.keyCode:"+aEvent.keyCode+"\n");
//}
if ( ( (aEvent.keyCode > 36) && (aEvent.keyCode < 41) ) || (aEvent.keyCode == 33) || (aEvent.keyCode == 34)) {
if ( ( (aEvent.keyCode > 36) && (aEvent.keyCode < 41) ) || (aEvent.keyCode === 33) || (aEvent.keyCode === 34)) {
this.onClickEditor(aEvent);
}
]]></body>
......@@ -405,12 +407,9 @@
<body><![CDATA[
{
var href = "";
var isKeyCommand = (event.type == "command");
var isKeyCommand = (event.type === "command");
var linkNode = isKeyCommand ? this.editorElement.commandDispatcher.focusedElement
: event.originalTarget;
//dump("event.type:"+event.type+"\n");
//dump("event.originalTarget:"+event.originalTarget+"\n");
//dump("linkNode:"+linkNode+"\n");
while (linkNode instanceof Element) {
if (linkNode instanceof HTMLAnchorElement ||
linkNode instanceof HTMLAreaElement ||
......@@ -434,7 +433,6 @@
}
linkNode = linkNode.parentNode;
}
//dump("href:"+href+"\n");
return href ? {href: href, linkNode: linkNode} : null;
}
]]></body>
......@@ -482,27 +480,27 @@
}
var color = this.getCStringCommandState("cmd_fontColor", this.commandManager, this.editorElement.contentWindow, "state_attribute");
if (color == "") {
if (color === "") {
color = "transparent";
}
else {
color = this.ConvertRGBColorIntoHEXColor(color);
}
document.getAnonymousElementByAttribute(this, "anonid", "cmd_fontColor").setAttribute("style","background-color:"+color);
var aFirst = { value: false };
var aAny = { value: false };
var aAll = { value: false };
var propAtom = this.atomService.getAtom("font");
var edElement = this.editorElement.getHTMLEditor(this.editorElement.contentWindow);
color = edElement.getInlinePropertyWithAttrValue(propAtom, "bgcolor", null, aFirst, aAny, aAll);
color = edElement.getInlinePropertyWithAttrValue(propAtom, "bgcolor", null, aFirst, aAny, aAll);
document.getAnonymousElementByAttribute(this, "anonid", "cmd_backgroundColor").setAttribute("style","background-color:"+color);
var font = this.getCStringCommandState("cmd_fontFace", this.commandManager, this.editorElement.contentWindow, "state_attribute");
font = font.replace(/"/g, "");
var fontElement;
if (font.indexOf(",") > -1) {
if (font.indexOf(",") !== -1) {
var fonts = font.split(",");
for(var i = 0; ((i<fonts.length) && (!fontElement)); i++) {
fontElement = document.getAnonymousElementByAttribute(this, "label", fonts[i]);
......@@ -577,7 +575,7 @@
// Get current color
var color = this.getCStringCommandState(aAnonId, this.commandManager, this.editorElement.contentWindow, "state_attribute");
if (color == "") {
if (color === "") {
color = "transparent";
}
else {
......@@ -594,7 +592,7 @@
element.setAttribute("style","background-color:"+colorObj.TextColor);
if (aAnonId == "cmd_fontColor") {
if (aAnonId === "cmd_fontColor") {
var state = Components.classes["@mozilla.org/embedcomp/command-params;1"]
.createInstance(Components.interfaces.nsICommandParams);
state.setCStringValue("state_attribute", colorObj.TextColor);
......@@ -614,11 +612,20 @@
<body><![CDATA[
if ( /rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/.test(color) ) {
var r = Number(RegExp.$1).toString(16);
if (r.length == 1) r = "0"+r;
if (r.length === 1){
r = "0"+r;
}
var g = Number(RegExp.$2).toString(16);
if (g.length == 1) g = "0"+g;
if (g.length === 1) {
g = "0"+g;
}
var b = Number(RegExp.$3).toString(16);
if (b.length == 1) b = "0"+b;
if (b.length === 1) {
b = "0"+b;
}
return "#"+r+g+b;
}
else
......@@ -662,7 +669,7 @@
if (this.commandManager) {
var button = document.getAnonymousElementByAttribute(this, "anonid", aAnonId);
if (button.hasAttribute("state")) {
if (aAnonId.indexOf("cmd_align") > -1) {
if (aAnonId.indexOf("cmd_align") !== -1) {
button.checked = (aAnonId.indexOf(this.getCStringCommandState("cmd_align", this.commandManager, this.editorElement.contentWindow, "state_attribute")) > 0);
}
else {
......@@ -676,7 +683,7 @@
<parameter name="aAnonId" />
<body><![CDATA[
if (this.commandManager) {
if (aAnonId.indexOf("cmd_align") > -1) {
if (aAnonId.indexOf("cmd_align") !== -1) {
var state = Components.classes["@mozilla.org/embedcomp/command-params;1"]
.createInstance(Components.interfaces.nsICommandParams);
state.setCStringValue("state_attribute", aAnonId.substr(10));
......@@ -685,7 +692,7 @@
else {
this.commandManager.doCommand(aAnonId, null, null);
}
// this.setButtonState(aAnonId);
this.onClickEditor();
}
]]></body>
......@@ -693,35 +700,31 @@
<method name="addLink">
<body><![CDATA[
//dump("addLink\n");
var result = window.prompt("Link URL:", "http://");
if (result) {
var selObj = this.editorElement.contentDocument.getSelection();
//dump("selObj.rangeCount:"+selObj.rangeCount+"\n");
var range = selObj.getRangeAt(0);
var textElement = range.startContainer;
var parent = textElement.parentElement;
//dump("parent:"+parent+"\n");
var startOffset = range.startOffset;
//dump("1. parent.outerHTML:"+parent.outerHTML+"\n");
//dump("range.startOffset:"+range.startOffset+"\n");
var newLink = document.createElement("a");
newLink.setAttribute("href", result);
range.surroundContents(newLink);
//dump("newLink.outerHTML:"+newLink.outerHTML+"\n");
var splitText = textElement.splitText(startOffset);
parent.insertBefore(newLink, splitText);
this.content = this.content;
//dump("2. parent.outerHTML:"+parent.outerHTML+"\n");
}
]]></body>
</method>
<method name="removeLink">
<body><![CDATA[
//dump("removeLink\n");
if (this.ceParams) {
var parent = this.ceParams.linkNode.parentElement;
while (this.ceParams.linkNode.firstChild) {
......@@ -734,7 +737,7 @@
<method name="editLink">
<body><![CDATA[
//dump("editLink\n");
if (this.ceParams) {
var result = window.prompt("Link URL:", this.ceParams.href);
if (result) {
......
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!--
/* ***** BEGIN LICENSE BLOCK *****
* Version: GPL 3.0
*
* The contents of this file are subject to the General Public License
* 3.0 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.gnu.org/licenses/gpl.html
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* ## Exchange 2007/2010 Calendar and Tasks Provider.
* ## For Thunderbird with the Lightning add-on.
*
* Author: Michel Verbraak (info@1st-setup.nl)
* Website: http://www.1st-setup.nl/wordpress/?page_id=133
* email: exchangecalendar@extensions.1st-setup.nl
*
*
* This code uses parts of the Microsoft Exchange Calendar Provider code on which the
* "Exchange Data Provider for Lightning" was based.
* The Initial Developer of the Microsoft Exchange Calendar Provider Code is
* Andrea Bittau <a.bittau@cs.ucl.ac.uk>, University College London
* Portions created by the Initial Developer are Copyright (C) 2009
* the Initial Developer. All Rights Reserved.
*