From 18662f9ecbebf3a32dddc65a3e7954dacbe528a0 Mon Sep 17 00:00:00 2001 From: Stefan Profanter Date: Thu, 21 Apr 2016 17:32:57 +0200 Subject: [PATCH 01/14] Fix: The shared folder/folder id can also be a task list --- chrome/content/exchangeSettingsOverlay.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/exchangeSettingsOverlay.js b/chrome/content/exchangeSettingsOverlay.js index 92e2f1ba..4af78732 100644 --- a/chrome/content/exchangeSettingsOverlay.js +++ b/chrome/content/exchangeSettingsOverlay.js @@ -408,7 +408,7 @@ exchSettingsOverlay.prototype = { { this.globalFunctions.LOG("exchWebServicesGetFolderOK: aFolderID:"+aFolderID+", aChangeKey:"+aChangeKey+", aFolderClass:"+aFolderClass); - if (aFolderClass == "IPF.Appointment") { + if (aFolderClass == "IPF.Appointment" || aFolderClass == "IPF.Task") { this.exchWebServicesgFolderID = aFolderID; this.exchWebServicesgChangeKey = aChangeKey; this.gexchWebServicesDetailsChecked = true; From 9e9d92e94dff93412acf92a488eb7c3a6ef961f5 Mon Sep 17 00:00:00 2001 From: Adrien Dorsaz Date: Tue, 27 Jun 2017 10:10:12 +0200 Subject: [PATCH 02/14] lightning-item-iframe.js: updateScreen() shows always HTML content editor exchangecalendar <4.0 did a test on existence of an element with id "todo-entrydate" to decide whether it should display or hide the HTML content editor. (this code was in the onLoad() function of calendar-event-dialog.js) Because of the name of the ID, I misunderstood the test and thought the HTML editor has to be displayed only for tasks. This commit fixes the dialog display. The next one will fix the content saving. --- chrome/content/lightning-item-iframe.js | 120 +++++++++++++----------- 1 file changed, 65 insertions(+), 55 deletions(-) diff --git a/chrome/content/lightning-item-iframe.js b/chrome/content/lightning-item-iframe.js index 512c67f3..15fbc61f 100644 --- a/chrome/content/lightning-item-iframe.js +++ b/chrome/content/lightning-item-iframe.js @@ -114,43 +114,21 @@ exchangeEventDialog.prototype = { }, /* - * This function is used to add extra informations for Exchange tasks + * Adds HTML editor for exchangecalendar items + * Adds extra informations for Exchange tasks + * * As the same dialog is used for non-Exchange tasks and for events, this function - * remove too these details when necessary. + * removes too these details when necessary. */ updateScreen: function _updateScreen(aItem, aCalendar) { var item = aItem; - // If not an event and calendar type is exchangeCalendar, add Exchange task extra informations - if (!cal.isEvent(item) - && aCalendar.type === "exchangecalendar") { - - // Set and display task owner - - var ownerLabel = this._document.getElementById("exchWebService-owner-label"); - if (ownerLabel) { - ownerLabel.setAttribute("collapsed", "false"); - ownerLabel.value = item.owner; - } - - // Set and display Exchange task details - - this._document.getElementById("exchWebService-details-separator").hidden = false; - this._document.getElementById("exchWebService-details-row1").collapsed = false; - this._document.getElementById("exchWebService-details-row2").collapsed = false; - this._document.getElementById("exchWebService-details-row3").collapsed = false; + if (aCalendar.type === "exchangecalendar") { - if (item.className) { - this._document.getElementById("exchWebService-totalWork-count").value = item.totalWork; - this._document.getElementById("exchWebService-actualWork-count").value = item.actualWork; - this._document.getElementById("exchWebService-mileage-count").value = item.mileage; - this._document.getElementById("exchWebService-billingInformation-count").value = item.billingInformation; - this._document.getElementById("exchWebService-companies-count").value = item.companies; - } + // For all item type, enable HTML editor // Set HTML content editor - let itemBodyEditor = this._document.getElementById("exchWebService-body-editor"); // Try to read directly item body, otherwise fallback to item description property @@ -178,37 +156,66 @@ exchangeEventDialog.prototype = { itemBodyEditor.setAttribute("scrollbars","yes"); } - // Remove some standard inputs + // If not an event, add Exchange task extra informations + if (!cal.isEvent(item)) { - this._document.getElementById("event-grid-location-row").hidden = true; + // Set and display task owner - this._document.getElementById("reminder-none-separator").hidden = true; - this._document.getElementById("reminder-0minutes-menuitem").hidden = true; - this._document.getElementById("reminder-5minutes-menuitem").hidden = true; - this._document.getElementById("reminder-15minutes-menuitem").hidden = true; - this._document.getElementById("reminder-30minutes-menuitem").hidden = true; - this._document.getElementById("reminder-minutes-separator").hidden = true; - this._document.getElementById("reminder-1hour-menuitem").hidden = true; - this._document.getElementById("reminder-2hours-menuitem").hidden = true; - this._document.getElementById("reminder-12hours-menuitem").hidden = true; - this._document.getElementById("reminder-hours-separator").hidden = true; - this._document.getElementById("reminder-1day-menuitem").hidden = true; - this._document.getElementById("reminder-2days-menuitem").hidden = true; - this._document.getElementById("reminder-1week-menuitem").hidden = true; + var ownerLabel = this._document.getElementById("exchWebService-owner-label"); + if (ownerLabel) { + ownerLabel.setAttribute("collapsed", "false"); + ownerLabel.value = item.owner; + } - this._document.getElementById("timezone-starttime").hidden = true; - this._document.getElementById("timezone-endtime").hidden = true; + // Set and display Exchange task details - // Manage repeat for Exchange tasks + this._document.getElementById("exchWebService-details-separator").hidden = false; + this._document.getElementById("exchWebService-details-row1").collapsed = false; + this._document.getElementById("exchWebService-details-row2").collapsed = false; + this._document.getElementById("exchWebService-details-row3").collapsed = false; - if (this._document.getElementById("item-repeat")) { - this._document.getElementById("item-repeat").addEventListener("command", function() { self.updateRepeat(); }, false); - } + if (item.className) { + this._document.getElementById("exchWebService-totalWork-count").value = item.totalWork; + this._document.getElementById("exchWebService-actualWork-count").value = item.actualWork; + this._document.getElementById("exchWebService-mileage-count").value = item.mileage; + this._document.getElementById("exchWebService-billingInformation-count").value = item.billingInformation; + this._document.getElementById("exchWebService-companies-count").value = item.companies; + } + + // Remove some standard inputs + + this._document.getElementById("event-grid-location-row").hidden = true; - this.updateRepeat(); + this._document.getElementById("reminder-none-separator").hidden = true; + this._document.getElementById("reminder-0minutes-menuitem").hidden = true; + this._document.getElementById("reminder-5minutes-menuitem").hidden = true; + this._document.getElementById("reminder-15minutes-menuitem").hidden = true; + this._document.getElementById("reminder-30minutes-menuitem").hidden = true; + this._document.getElementById("reminder-minutes-separator").hidden = true; + this._document.getElementById("reminder-1hour-menuitem").hidden = true; + this._document.getElementById("reminder-2hours-menuitem").hidden = true; + this._document.getElementById("reminder-12hours-menuitem").hidden = true; + this._document.getElementById("reminder-hours-separator").hidden = true; + this._document.getElementById("reminder-1day-menuitem").hidden = true; + this._document.getElementById("reminder-2days-menuitem").hidden = true; + this._document.getElementById("reminder-1week-menuitem").hidden = true; + + this._document.getElementById("timezone-starttime").hidden = true; + this._document.getElementById("timezone-endtime").hidden = true; + + // Manage repeat for Exchange tasks + + if (this._document.getElementById("item-repeat")) { + this._document.getElementById("item-repeat").addEventListener("command", function() { self.updateRepeat(); }, false); + } + + this.updateRepeat(); + } } + // For events and other calendar type, hidde back all Exchange task details, display back standard items - else { + if (cal.isEvent(item) + || cal.type !== "exchangecalendar") { // Hide Exchange task details @@ -221,10 +228,6 @@ exchangeEventDialog.prototype = { this._document.getElementById("exchWebService-details-row2").collapsed = true; this._document.getElementById("exchWebService-details-row3").collapsed = true; - // HTML Task content editor - this._document.getElementById("item-description").hidden = false; - this._document.getElementById("exchWebService-body-editor").hidden = true; - // Reset standard form this._document.getElementById("event-grid-location-row").hidden = false; this._document.getElementById("event-grid-recurrence-row").hidden=false; @@ -248,6 +251,13 @@ exchangeEventDialog.prototype = { this._document.getElementById("timezone-starttime").hidden = false; this._document.getElementById("timezone-endtime").hidden = false; } + + // Reset content editor when not exchangecalendar items + if (aCalendar.type !== "exchangecalendar") { + // Hidde HTML content editor + this._document.getElementById("item-description").hidden = false; + this._document.getElementById("exchWebService-body-editor").hidden = true; + } }, From 72b0ec6f54b50638f620ae5b0e0fcdd0a5a8e564 Mon Sep 17 00:00:00 2001 From: Adrien Dorsaz Date: Tue, 27 Jun 2017 10:16:04 +0200 Subject: [PATCH 03/14] lightning-item-iframe.js: on save, records HTML content for all items Fix #29: as we know save content to HTML body, we are correctly synced with exchange server. --- chrome/content/lightning-item-iframe.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/chrome/content/lightning-item-iframe.js b/chrome/content/lightning-item-iframe.js index 15fbc61f..124df91e 100644 --- a/chrome/content/lightning-item-iframe.js +++ b/chrome/content/lightning-item-iframe.js @@ -75,20 +75,20 @@ exchangeEventDialog.prototype = { aItem.mileage = this._document.getElementById("exchWebService-mileage-count").value; aItem.billingInformation = this._document.getElementById("exchWebService-billingInformation-count").value; aItem.companies = this._document.getElementById("exchWebService-companies-count").value; + } - // Copy content from HTML editor - try{ - if (this.newItem) { - aItem.bodyType = "HTML"; - aItem.body = this._document.getElementById("exchWebService-body-editor").content; - this.newItem = false; - } - else if (aItem.bodyType === "HTML") { - aItem.body = this._document.getElementById("exchWebService-body-editor").content; - } - } catch(err) { - dump("Error saving content\n"); + // Copy content from HTML editor + try{ + if (this.newItem) { + aItem.bodyType = "HTML"; + aItem.body = this._document.getElementById("exchWebService-body-editor").content; + this.newItem = false; + } + else if (aItem.bodyType === "HTML") { + aItem.body = this._document.getElementById("exchWebService-body-editor").content; } + } catch(err) { + dump("Error saving content\n"); } } From 6fb004084f36a68793229a3e84776c1895f687c4 Mon Sep 17 00:00:00 2001 From: Adrien Dorsaz Date: Mon, 12 Jun 2017 14:07:07 +0200 Subject: [PATCH 04/14] exchWebServiceEditor: fix constructor to set content only when editor available --- chrome/content/exchWebServiceEditor.xml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/chrome/content/exchWebServiceEditor.xml b/chrome/content/exchWebServiceEditor.xml index 296dc576..e10804d7 100644 --- a/chrome/content/exchWebServiceEditor.xml +++ b/chrome/content/exchWebServiceEditor.xml @@ -195,8 +195,13 @@ Date: Tue, 13 Jun 2017 14:13:44 +0200 Subject: [PATCH 05/14] exchWebServiceEditor: fix typo in attributes of a toolbar button --- chrome/content/exchWebServiceEditor.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/exchWebServiceEditor.xml b/chrome/content/exchWebServiceEditor.xml index e10804d7..d91087b5 100644 --- a/chrome/content/exchWebServiceEditor.xml +++ b/chrome/content/exchWebServiceEditor.xml @@ -105,7 +105,7 @@ state="state_all"/> - + Date: Tue, 13 Jun 2017 14:14:14 +0200 Subject: [PATCH 06/14] exchWebServiceEditor.xml: add messengercompose.css to fix button display As we removed this CSS from event-dialog, the font color and background color buttons were not any more correctly displayed in the HTML editor. --- chrome/content/exchWebServiceEditor.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/chrome/content/exchWebServiceEditor.xml b/chrome/content/exchWebServiceEditor.xml index d91087b5..a7b06a04 100644 --- a/chrome/content/exchWebServiceEditor.xml +++ b/chrome/content/exchWebServiceEditor.xml @@ -36,7 +36,12 @@ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> - + + + + + + @@ -192,7 +197,7 @@ flex="1"/> - + Date: Wed, 14 Jun 2017 16:53:01 +0200 Subject: [PATCH 07/14] exchWebServiceEditor.xml: use explicit method name to add event listener to buttons --- chrome/content/exchWebServiceEditor.xml | 27 ++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/chrome/content/exchWebServiceEditor.xml b/chrome/content/exchWebServiceEditor.xml index a7b06a04..5f4cbe39 100644 --- a/chrome/content/exchWebServiceEditor.xml +++ b/chrome/content/exchWebServiceEditor.xml @@ -231,7 +231,8 @@ this.atomService = Components.classes["@mozilla.org/atom-service;1"] .getService(Components.interfaces.nsIAtomService); - this.connectButtons("FormatToolbar"); + this.connectAllCommandListenerToolbar("FormatToolbar"); + // Connect color button this.bgColorFunction = function(){ self.selectColor("cmd_backgroundColor");}; var bgColorElement = document.getAnonymousElementByAttribute(this, "anonid", "cmd_backgroundColor") @@ -244,12 +245,13 @@ this.highlightColor = "#FFFFFF"; this.fontColor = "#000000"; - // Fill fontfac popup menu + // Connect FontFace popup menu this.menuPopupFunction = function(event){ self.selectFont("cmd_fontFace", event.target.value);}; this.menuPopup = document.getAnonymousElementByAttribute(this, "anonid", "fontFaceSelect"); this.menuPopup.addEventListener("command", this.menuPopupFunction, true); this.fillFontFace(); + // Connect HyperLink buttons this.addLinkFunction = function(){ self.addLink();}; var addLinkElement = document.getAnonymousElementByAttribute(this, "anonid", "cmd_add_link") addLinkElement.addEventListener("click", this.addLinkFunction, true); @@ -273,12 +275,19 @@ this.editorElement.removeEventListener("mouseover", this.editorMouseOver , false); this.editorElement.removeEventListener("mouseout", this.editorMouseOut, false); } - this.disconnectButtons("FormatToolbar"); + + this.removeAllCommandListenerToolbar("FormatToolbar"); + + // Disconnect color button document.getAnonymousElementByAttribute(this, "anonid", "cmd_backgroundColor").removeEventListener("click", this.bgColorFunction, false); document.getAnonymousElementByAttribute(this, "anonid", "cmd_fontColor").removeEventListener("click", this.fontColorFunction, false); + + // Disconnect Font face button if (this.menuPopupFunction) { this.menuPopup.removeEventListener("command", this.menuPopupFunction, false); } + + // Disconnect HyperLink buttons document.getAnonymousElementByAttribute(this, "anonid", "cmd_add_link").removeEventListener("click", this.addLinkFunction, true); document.getAnonymousElementByAttribute(this, "anonid", "cmd_remove_link").removeEventListener("click", this.removeLinkFunction, true); document.getAnonymousElementByAttribute(this, "anonid", "cmd_edit_link").removeEventListener("click", this.editLinkFunction, true); @@ -335,7 +344,7 @@ ]]> - + - + - + - + Date: Wed, 14 Jun 2017 16:54:22 +0200 Subject: [PATCH 08/14] exchWebServiceEditor.xml: add event listener in the bubbling phase This ensures us that button are in a ready state when we apply commands --- chrome/content/exchWebServiceEditor.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chrome/content/exchWebServiceEditor.xml b/chrome/content/exchWebServiceEditor.xml index 5f4cbe39..6ade70cc 100644 --- a/chrome/content/exchWebServiceEditor.xml +++ b/chrome/content/exchWebServiceEditor.xml @@ -374,7 +374,7 @@ this.functions[aStore] = {}; } this.functions[aStore][aAnonId] = function() { self.toggleButton(aAnonId);}; - document.getAnonymousElementByAttribute(this, "anonid", aAnonId).addEventListener("command", this.functions[aStore][aAnonId], true); + document.getAnonymousElementByAttribute(this, "anonid", aAnonId).addEventListener("command", this.functions[aStore][aAnonId], false); ]]> From 893310cb9f079ecaa25ee4fc22418c9292fbdbc7 Mon Sep 17 00:00:00 2001 From: Adrien Dorsaz Date: Wed, 14 Jun 2017 17:41:27 +0200 Subject: [PATCH 09/14] exchWebServiceEditor: code style --- chrome/content/exchWebServiceEditor.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chrome/content/exchWebServiceEditor.xml b/chrome/content/exchWebServiceEditor.xml index 6ade70cc..1b6a707b 100644 --- a/chrome/content/exchWebServiceEditor.xml +++ b/chrome/content/exchWebServiceEditor.xml @@ -219,9 +219,9 @@ this.editorElement.addEventListener("keyup", this.editorKeyPressFunction, true); this.editorMouseOver = function(aEvent) { self.onMouseOver(aEvent);}; - this.editorMouseOut = function(aEvent) { self.onMouseOut(aEvent);}; - this.editorElement.addEventListener("mouseover", this.editorMouseOver , false); + + this.editorMouseOut = function(aEvent) { self.onMouseOut(aEvent);}; this.editorElement.addEventListener("mouseout", this.editorMouseOut, false); // Set default document to empty HTML content From 54d5c877ce2677f6239e2510589c2e730ca13da8 Mon Sep 17 00:00:00 2001 From: Adrien Dorsaz Date: Wed, 14 Jun 2017 17:40:57 +0200 Subject: [PATCH 10/14] exchWebServiceEditor.xml: add listener on bubbling phase to avoid issue with uninitilized interface Note that desctructor and constructor were not handling handlers on the same phase. --- chrome/content/exchWebServiceEditor.xml | 35 ++++++++++++++----------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/chrome/content/exchWebServiceEditor.xml b/chrome/content/exchWebServiceEditor.xml index 1b6a707b..a3113529 100644 --- a/chrome/content/exchWebServiceEditor.xml +++ b/chrome/content/exchWebServiceEditor.xml @@ -210,13 +210,13 @@ if (this.editorElement) { this.commandManager = this.editorElement.commandManager; this.editorClickFunction = function(aEvent) { self.onClickEditor(aEvent);}; - this.editorElement.addEventListener("click", this.editorClickFunction, true); + this.editorElement.addEventListener("click", this.editorClickFunction, false); this.editorDblClickFunction = function(aEvent) { self.onDblClickEditor(aEvent);}; - this.editorElement.addEventListener("dblclick", this.editorDblClickFunction, true); + this.editorElement.addEventListener("dblclick", this.editorDblClickFunction, false); this.editorKeyPressFunction = function(aEvent) { self.onKeyPressEditor(aEvent);}; - this.editorElement.addEventListener("keyup", this.editorKeyPressFunction, true); + this.editorElement.addEventListener("keyup", this.editorKeyPressFunction, false); this.editorMouseOver = function(aEvent) { self.onMouseOver(aEvent);}; this.editorElement.addEventListener("mouseover", this.editorMouseOver , false); @@ -236,11 +236,11 @@ // Connect color button this.bgColorFunction = function(){ self.selectColor("cmd_backgroundColor");}; var bgColorElement = document.getAnonymousElementByAttribute(this, "anonid", "cmd_backgroundColor") - bgColorElement.addEventListener("click", this.bgColorFunction, true); + bgColorElement.addEventListener("click", this.bgColorFunction, false); this.fontColorFunction = function(){ self.selectColor("cmd_fontColor");}; var fontColorElement = document.getAnonymousElementByAttribute(this, "anonid", "cmd_fontColor") - fontColorElement.addEventListener("click", this.fontColorFunction, true); + fontColorElement.addEventListener("click", this.fontColorFunction, false); this.highlightColor = "#FFFFFF"; this.fontColor = "#000000"; @@ -248,21 +248,21 @@ // Connect FontFace popup menu this.menuPopupFunction = function(event){ self.selectFont("cmd_fontFace", event.target.value);}; this.menuPopup = document.getAnonymousElementByAttribute(this, "anonid", "fontFaceSelect"); - this.menuPopup.addEventListener("command", this.menuPopupFunction, true); + this.menuPopup.addEventListener("command", this.menuPopupFunction, false); this.fillFontFace(); // Connect HyperLink buttons this.addLinkFunction = function(){ self.addLink();}; var addLinkElement = document.getAnonymousElementByAttribute(this, "anonid", "cmd_add_link") - addLinkElement.addEventListener("click", this.addLinkFunction, true); + addLinkElement.addEventListener("click", this.addLinkFunction, false); this.removeLinkFunction = function(){ self.removeLink();}; var removeLinkElement = document.getAnonymousElementByAttribute(this, "anonid", "cmd_remove_link") - removeLinkElement.addEventListener("click", this.removeLinkFunction, true); + removeLinkElement.addEventListener("click", this.removeLinkFunction, false); this.editLinkFunction = function(){ self.editLink();}; var editLinkElement = document.getAnonymousElementByAttribute(this, "anonid", "cmd_edit_link") - editLinkElement.addEventListener("click", this.editLinkFunction, true); + editLinkElement.addEventListener("click", this.editLinkFunction, false); ]]> From b90673fa758b156a513387cc57310f7f81c5c4cc Mon Sep 17 00:00:00 2001 From: Adrien Dorsaz Date: Tue, 27 Jun 2017 11:38:47 +0200 Subject: [PATCH 11/14] lightning-item-iframe: use collapsed attribute to display/hide HTML editor As advised by the "Rapid Application Development with Mozilla" book by Nigel McFarlane. Indeed, a tag sole any binding when we use attribute like "display:none" because a XBL binding requires a frame (styleable area). Fixes #28 --- chrome/content/lightning-item-iframe.js | 4 ++-- chrome/content/lightning-item-iframe.xul | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/chrome/content/lightning-item-iframe.js b/chrome/content/lightning-item-iframe.js index 124df91e..ea00139c 100644 --- a/chrome/content/lightning-item-iframe.js +++ b/chrome/content/lightning-item-iframe.js @@ -151,7 +151,7 @@ exchangeEventDialog.prototype = { this._document.getElementById("item-description").hidden = true; // Display our own HTML content editor - itemBodyEditor.hidden = false; + itemBodyEditor.setAttribute("collapsed", "false");; itemBodyEditor.setAttribute("scrollbars","yes"); } @@ -256,7 +256,7 @@ exchangeEventDialog.prototype = { if (aCalendar.type !== "exchangecalendar") { // Hidde HTML content editor this._document.getElementById("item-description").hidden = false; - this._document.getElementById("exchWebService-body-editor").hidden = true; + this._document.getElementById("exchWebService-body-editor").setAttribute("collapsed", "true"); } }, diff --git a/chrome/content/lightning-item-iframe.xul b/chrome/content/lightning-item-iframe.xul index 581417a5..dfe516a7 100644 --- a/chrome/content/lightning-item-iframe.xul +++ b/chrome/content/lightning-item-iframe.xul @@ -142,7 +142,7 @@ flex="1" insertafter="item-description" disable-on-readonly="true" - hidden="true"/> + collapsed="true"/> From ae4857a6f6632fd0cb340eca08a039aaaa58adbe Mon Sep 17 00:00:00 2001 From: enozkan Date: Thu, 29 Jun 2017 01:26:50 -0500 Subject: [PATCH 12/14] Update delegate-folder.dtd in tr locale --- .../exchangecalendar/tr/delegate-folder.dtd | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/locale/exchangecalendar/tr/delegate-folder.dtd b/locale/exchangecalendar/tr/delegate-folder.dtd index 2ce88d16..b6b76462 100644 --- a/locale/exchangecalendar/tr/delegate-folder.dtd +++ b/locale/exchangecalendar/tr/delegate-folder.dtd @@ -1,45 +1,45 @@ - - + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - + - - + + - - - - + + + + - - - - - - - - + + + + + + + + - - + + From 2c6993d24d5a085f1bf3bcfdacf449f4acb20199 Mon Sep 17 00:00:00 2001 From: enozkan Date: Thu, 29 Jun 2017 01:49:46 -0500 Subject: [PATCH 13/14] install.rdf to include mention of all locales --- install.rdf | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/install.rdf b/install.rdf index 7f193961..8ac9e2c7 100644 --- a/install.rdf +++ b/install.rdf @@ -30,7 +30,7 @@ You can also search your contacts folder and the Exchange Global Address List (R You can view, delete, create and update calendar and task/todo items. And manage "Out of Office" settings. -Dutch, French, English, German, Swedish and Japanese localizations. +Dutch, French, English, German, Swedish, Japanese, Russian, Italian and Turkish localizations. Some of the icons and images used are from the Fugue Icons Collection made by Yusuke Kamiyamane (http://p.yusukekamiyamane.com/) Ericsson (exchangecalendar@ericsson.com) @@ -43,6 +43,7 @@ Some of the icons and images used are from the Fugue Icons Collection made by Yu Hiroshi Miura (ja-JP) Alexey Sinitsyn (ru) Alessandro Menti (it-IT) + Engin Özkan (tr) http://www.1st-setup.nl/wordpress/?page_id=133 chrome://exchangecalendar-common/skin/images/lightningexchangecalendar.png 2 @@ -57,7 +58,7 @@ Some of the icons and images used are from the Fugue Icons Collection made by Yu You can view, delete, create and update calendar and task/todo items. And manage "Out of Office" settings. You can read and use contacts and global addres list contacts for address autcompletion. -Dutch, French, English, German, Swedish, Japanese and Italian localizations. +Dutch, French, English, German, Swedish, Japanese, Russian, Italian and Turkish localizations. Some of the icons and images used are from the Fugue Icons Collection made by Yusuke Kamiyamane (http://p.yusukekamiyamane.com/) @@ -72,7 +73,7 @@ Some of the icons and images used are from the Fugue Icons Collection made by Yu Sie können diese Kalender- und Aufgabeneinträge betrachten, löschen, erstellen und aktualisieren. Sie können die "Out of Office"-Einstellungen verwalten. Sie können Kontakte und globale Adresslisten lesen und für die Autovervollständigung der Adressen nutzen. -Übersetzungen in Niederländisch, Französisch, Deutsch Schwedisch und Japanisch. +Übersetzungen in Niederländisch, Französisch, Deutsch, Schwedisch, Japanisch, Russisch, Italienisch und Türkisch. Einige der Icons und die Bilder werden aus der Fugue Icons Collection erstellt von Yusuke Kamiyamane (http://p.yusukekamiyamane.com/) genutzt. @@ -138,5 +139,20 @@ Localizzato in olandese, francese, inglese, tedesco, svedese, giapponese e itali Alcune delle icone e immagini utilizzate sono state tratte dalla Fugue Icons Collection di Yusuke Kamiyamane (http://p.yusukekamiyamane.com/) + + + + tr + Exchange EWS Sağlayıcısı + Lightning içinde, Takvim, Görevler ve Kişileri Microsoft Exchange 2007/2010/2013 EWS sunucunuzla eşitlemenizi sağlar. + +Takvim ve Görev-Yapılacaklarınızdaki maddeleri görebilir ve silebilir, yeni maddeler yaratabilir ya da maddeleri güncelleyebilirsiniz. "İşyeri Dışında" ayarlarınızı da denetleyebilirsiniz. +Kişilerinizdeki ve Genel Adres Listesindeki kişileri görebilir ve automatik adres tamamlamada kullanabilirsiniz. + +Almanca, Flemenkçe, Fransızca, İngilizce, İsveççe, İtalyanca, Japonca, Rusça, ve Türkçe yerelleştirmeleri vardır. + +Bazı ikon ve imgeler, Yusuke Kamiyamane tarafından yapılmış olan Fugue Icons Collection'dan alınıp kullanılmıştır. (http://p.yusukekamiyamane.com/) + + From 4405ef6c71b264ca43a9900ccdcc42a709ebf712 Mon Sep 17 00:00:00 2001 From: enozkan Date: Thu, 29 Jun 2017 13:00:21 -0500 Subject: [PATCH 14/14] update chrome.manifest to enable it and tr L10ns --- chrome.manifest | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chrome.manifest b/chrome.manifest index 18c63b4d..9ea656b9 100644 --- a/chrome.manifest +++ b/chrome.manifest @@ -50,6 +50,8 @@ locale exchangecalendar de locale/exchangecalendar/de/ locale exchangecalendar ja-JP locale/exchangecalendar/ja-JP/ locale exchangecalendar sv locale/exchangecalendar/sv/ locale exchangecalendar ru locale/exchangecalendar/ru/ +locale exchangecalendar it-IT locale/exchangecalendar/it-IT/ +locale exchangecalendar tr locale/exchangecalendar/tr/ manifest interfaces/exchangeCalendar/mivExchangeCalendar.manifest