Commits (62)
......@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.1)
cmake_policy(VERSION 3.1)
project(evolution
VERSION 3.38.1
VERSION 3.38.3
LANGUAGES C)
set(PROJECT_BUGREPORT "https://gitlab.gnome.org/GNOME/evolution/issues/")
set(PROJECT_URL "http://wiki.gnome.org/Apps/Evolution/")
......@@ -279,6 +279,8 @@ pkg_check_modules(A11Y REQUIRED atk)
pkg_check_modules(LIBSOUP REQUIRED libsoup-2.4>=${soup_minimum_version})
pkg_check_modules(WEB_EXTENSION REQUIRED webkit2gtk-4.0>=${webkit2gtk_minimum_version})
pkg_check_variable(EDS_SOURCES_DBUS_SERVICE_NAME evolution-data-server-1.2 sourcesdbusservicename)
# ******************************
# Enchant - support both, but better to use the same as the dependencies (gspell, webkitgtk+,...)
# ******************************
......
Evolution 3.38.3 2021-01-08
---------------------------
Bug Fixes:
I#1242 - Tasks: "Uncompleted Tasks" filter does not work as expected (Milan Crha)
I#1243 - tnef-attachment: Fails to decode some TNEF event attachments (Milan Crha)
I#1259 - Composer: Body from mailto: URI not enclosed in paragraphs (Milan Crha)
I#1262 - Composer: Forward -> Redirect includes account signature (Milan Crha)
I#1266 - Alternative Reply: Do not ellipsize template names (Milan Crha)
I#1286 - WebView: Change how scheme handlers are registered (Milan Crha)
I#1309 - templates: Remove signature in $ORIG[quoted-body] (Milan Crha)
I#1312 - templates: Reply-To field is not copied to the new message (Milan Crha)
Miscellaneous:
Add Kabyle translation into the e_supported_locales array (Milan Crha)
Composer: UL/OL not wrapped properly in Plain Text mode (Milan Crha)
EABContactFormatter: Remove obsolete WebKitGTK code (Milan Crha)
Translations:
Carmen Bianca BAKKER (eo)
Kjartan Maraas (nb)
Onno Giesmann (de)
Andika Triwidada (id)
Jordi Mas (ca)
Evolution 3.38.2 2020-11-20
---------------------------
Bug Fixes:
I#913 - Switching to plain-text keeps signature's HTML formatting (Milan Crha)
I#1122 - ENameSelectorEntry: Missing contacts in the lookup (Milan Crha)
I#1133 - Calendar: Preserver timezone on recurrence instances (Milan Crha)
I#1139 - backup-restore: Fails to find source registry's D-Bus service name (Milan Crha)
I#1140 - Calendar: Offer calendar mail address as organizer (Milan Crha)
I#1148 - Send account override does not work with post to a mailing list (Milan Crha)
I#1156 - Composer: HTML email signature not stripped (Milan Crha)
I#1158 - Composer: Disable spellcheck of quoted text (Milan Crha)
I#1160 - itip-view: Default 'Inherit reminder' option to be checked (Milan Crha)
I#1170 - EWebDAVBrowser: The home sets not always expanded (Milan Crha)
I#1171 - Cannot copy text/click links in read-only events (Milan Crha)
I#1175 - composer-attribution-language doesn't take effect for C locale (Milan Crha)
I#1197 - Composer: BACKSPACE key on empty line simulates DEL key (Milan Crha)
I#1204 - Composer: Remove signature hints on message send (Milan Crha)
I#1206 - Mail: Preserve TABs in plain text body preview (Milan Crha)
I#1207 - Composer: Magic-links can reposition caret to incorrect place (Milan Crha)
I#1213 - EFileRequest: URL-decode path of the file before using it (Milan Crha)
I#1214 - Composer: Block format change from UL/OL can split BODY (Milan Crha)
I#1230 - mail-autoconfig: Set 15s timeout for autoconfig lookup (Milan Crha)
M!68 - mail-notification: Select new message when notification is clicked (Ryan Hendrickson)
M!71 - flatpak: Allow to build a flatpak with a different build directory (Corentin Noël)
Miscellaneous:
Reuse existing mail session when generating import preview (Milan Crha)
Fix two memory leaks related to data import (Milan Crha)
e-convert.js: Missing line breaks with nested paragraphs (Milan Crha)
ECompEditor: Extract plain email address from backend property (Milan Crha)
Mail: Disable 'Export to PDF' on drag & drop (Milan Crha)
ECompEditor: Add easy way to open URLs in the Location field (Milan Crha)
Calendar: Linkify URL and Location in import component preview (Milan Crha)
Adapt html editor tests after "I#1158 - Composer: Disable spellcheck of quoted text" (Milan Crha)
html-editor: Update unit tests after change for I#1204 (Milan Crha)
help: Fix broken xpointer namespaces (Andre Klapper)
help: Fix broken xinclude for license in footer (Andre Klapper)
Translations:
Charles Monzat (fr)
Dušan Kazik (sk)
Carmen Bianca BAKKER (eo)
Christian Kirbach (de)
Selyan Slimane AMIRI (kab)
Andika Triwidada (id)
Evolution 3.38.1 2020-10-02
---------------------------
......
......@@ -116,3 +116,6 @@
/* Define to the full path of mozilla nss library */
#define MOZILLA_NSS_LIB_DIR "@MOZILLA_NSS_LIB_DIR@"
/* D-Bus service name of the evolution-source-registry, as provided by evolution-data-server-1.2.pc */
#define EDS_SOURCES_DBUS_SERVICE_NAME "@EDS_SOURCES_DBUS_SERVICE_NAME@"
......@@ -148,7 +148,7 @@ EvoConvert.getComputedOrNodeStyle = function(node)
return node.style;
}
EvoConvert.replaceList = function(element, tagName)
EvoConvert.replaceList = function(element, tagName, normalDivWidth)
{
var ll, lists, type = null;
......@@ -269,6 +269,24 @@ EvoConvert.replaceList = function(element, tagName)
if (Number.isInteger(width))
node.style.width = "" + width + "ch";
} else if (normalDivWidth > 0) {
var width, needs;
if (tagName == "UL") {
needs = 3;
} else {
needs = EvoConvert.GetOLMaxLetters(list.getAttribute("type"), list.children.length) + 2; // length of ". " suffix
if (needs < EvoConvert.MIN_OL_WIDTH)
needs = EvoConvert.MIN_OL_WIDTH;
}
width = normalDivWidth - needs;
if (width < EvoConvert.MIN_PARAGRAPH_WIDTH)
width = EvoConvert.MIN_PARAGRAPH_WIDTH;
node.style.width = "" + width + "ch";
}
node.style.textAlign = list.style.testAlign;
node.style.direction = list.style.direction;
......@@ -684,6 +702,24 @@ EvoConvert.ImgToText = function(img)
return txt ? txt : "";
}
EvoConvert.appendNodeText = function(node, str, text)
{
/* This breaks "-- <br>", thus disable it for now. Cannot distinguish from test 70 of /EWebView/ConvertToPlain.
if (node && node.parentElement && text.startsWith('\n') && str.endsWith(" ")) {
var whiteSpace = "normal";
if (node.parentElement)
whiteSpace = window.getComputedStyle(node.parentElement).whiteSpace;
if (!whiteSpace || whiteSpace == "normal") {
return str.substr(0, str.length - 1) + text;
}
} */
return str + text;
}
EvoConvert.extractElemText = function(elem, normalDivWidth, quoteLevel)
{
if (!elem)
......@@ -700,7 +736,7 @@ EvoConvert.extractElemText = function(elem, normalDivWidth, quoteLevel)
if (!node)
continue;
str += EvoConvert.processNode(node, normalDivWidth, quoteLevel);
str = EvoConvert.appendNodeText(node, str, EvoConvert.processNode(node, normalDivWidth, quoteLevel));
}
return str;
......@@ -731,7 +767,7 @@ EvoConvert.mergeConsecutiveSpaces = function(str)
return str;
}
EvoConvert.RemoveInsignificantNewLines = function(node)
EvoConvert.RemoveInsignificantNewLines = function(node, stripSingleSpace)
{
var str = "";
......@@ -774,6 +810,11 @@ EvoConvert.RemoveInsignificantNewLines = function(node)
}
str = EvoConvert.mergeConsecutiveSpaces(str.replace(/\t/g, " ").replace(/\r/g, " ").replace(/\n/g, " "));
if ((!whiteSpace || whiteSpace == "normal") && str == " " && (stripSingleSpace || (
!node.nextElementSibling || node.nextElementSibling.tagName == "DIV" || node.nextElementSibling.tagName == "P" || node.nextElementSibling.tagName == "PRE"))) {
str = "";
}
}
}
}
......@@ -876,6 +917,13 @@ EvoConvert.processNode = function(node, normalDivWidth, quoteLevel)
}
str = EvoConvert.formatParagraph(EvoConvert.extractElemText(node, normalDivWidth, quoteLevel), ltr, align, indent, whiteSpace, width, extraIndent, liText, quoteLevel);
if (!liText && node.parentElement && (node.parentElement.tagName == "DIV" || node.parentElement.tagName == "P") &&
style.display == "block" && str != "" && node.previousSibling &&
((node.previousSibling.nodeType == node.ELEMENT_NODE && node.previousSibling.tagName != "DIV" && node.previousSibling.tagName != "P" && node.previousSibling.tagName != "BR") ||
(node.previousSibling.nodeType == node.TEXT_NODE && EvoConvert.RemoveInsignificantNewLines(node.previousSibling, true) != ""))) {
str = "\n" + str;
}
} else if (node.tagName == "PRE") {
str = EvoConvert.formatParagraph(EvoConvert.extractElemText(node, normalDivWidth, quoteLevel), ltr, align, indent, "pre", -1, 0, "", quoteLevel);
} else if (node.tagName == "BR") {
......@@ -962,10 +1010,10 @@ EvoConvert.ToPlainText = function(element, normalDivWidth)
element = element.cloneNode(true);
if (uls.length)
EvoConvert.replaceList(element, "UL");
EvoConvert.replaceList(element, "UL", normalDivWidth);
if (ols.length)
EvoConvert.replaceList(element, "OL");
EvoConvert.replaceList(element, "OL", normalDivWidth);
}
for (ii = 0; ii < element.childNodes.length; ii++) {
......@@ -974,7 +1022,7 @@ EvoConvert.ToPlainText = function(element, normalDivWidth)
if (!node)
continue;
str += EvoConvert.processNode(node, normalDivWidth, 0);
str = EvoConvert.appendNodeText(node, str, EvoConvert.processNode(node, normalDivWidth, 0));
}
} finally {
if (disconnectFromHead)
......
......@@ -1081,18 +1081,29 @@ EvoEditor.SetBlockFormat = function(format)
newElement = EvoEditor.renameElement(element, this.toSet.tagName, this.toSet.attributes, this.targetElement, this.selectionUpdater);
if (EvoEditor.mode == EvoEditor.MODE_PLAIN_TEXT && (this.toSet.tagName == "DIV" || this.toSet.tagName == "PRE")) {
var blockquoteLevel = EvoEditor.getBlockquoteLevel(newElement);
if (EvoEditor.mode == EvoEditor.MODE_PLAIN_TEXT) {
if (this.toSet.tagName == "DIV" || this.toSet.tagName == "PRE") {
var blockquoteLevel = EvoEditor.getBlockquoteLevel(newElement);
if (blockquoteLevel > 0) {
var width = -1;
if (this.toSet.tagName == "DIV" && blockquoteLevel * 2 < EvoEditor.NORMAL_PARAGRAPH_WIDTH)
width = EvoEditor.NORMAL_PARAGRAPH_WIDTH - blockquoteLevel * 2;
EvoEditor.quoteParagraph(newElement, blockquoteLevel, width);
} else if (this.toSet.tagName == "DIV") {
newElement.setAttribute("style", "width: " + EvoEditor.NORMAL_PARAGRAPH_WIDTH + "ch;");
}
} else if (this.toSet.tagName == "LI") {
var wrapWidth, blockquoteLevel = EvoEditor.getBlockquoteLevel(newElement);
if (blockquoteLevel > 0) {
var width = -1;
wrapWidth = EvoEditor.NORMAL_PARAGRAPH_WIDTH - blockquoteLevel * 2;
if (this.toSet.tagName == "DIV" && blockquoteLevel * 2 < EvoEditor.NORMAL_PARAGRAPH_WIDTH)
width = EvoEditor.NORMAL_PARAGRAPH_WIDTH - blockquoteLevel * 2;
if (wrapWidth <= 0)
wrapWidth = EvoEditor.NORMAL_PARAGRAPH_WIDTH;
EvoEditor.quoteParagraph(newElement, blockquoteLevel, width);
} else if (this.toSet.tagName == "DIV") {
newElement.setAttribute("style", "width: " + EvoEditor.NORMAL_PARAGRAPH_WIDTH + "ch;");
EvoEditor.setULOLWidth(newElement.parentElement, wrapWidth);
}
}
......@@ -1225,7 +1236,10 @@ EvoEditor.splitList = function(element, nParents, onlyAffected)
nParents--;
nextFrom = null;
if (from) {
if (from && from.parentElement && from.parentElement.tagName == "BODY") {
nextFrom = from;
break;
} else if (from) {
clone = from.parentElement.cloneNode(false);
from.parentElement.parentElement.insertBefore(clone, from.parentElement.nextElementSibling);
......@@ -1954,6 +1968,49 @@ EvoEditor.reBlockquotePlainText = function(plainText, usePreTag)
return html;
}
EvoEditor.setULOLWidth = function(child, wrapWidth)
{
if (!child)
return;
if (child.tagName == "UL") {
if (wrapWidth == -1) {
child.style.width = "";
EvoEditor.removeEmptyStyleAttribute(child);
} else {
var innerWrapWidth = wrapWidth;
innerWrapWidth -= 3; // length of " * " prefix
if (innerWrapWidth < EvoConvert.MIN_PARAGRAPH_WIDTH)
innerWrapWidth = EvoConvert.MIN_PARAGRAPH_WIDTH;
child.style.width = innerWrapWidth + "ch";
}
} else if (child.tagName == "OL") {
if (wrapWidth == -1) {
child.style.width = "";
child.style.paddingInlineStart = "";
EvoEditor.removeEmptyStyleAttribute(child);
} else {
var innerWrapWidth = wrapWidth, olNeedWidth;
olNeedWidth = EvoConvert.GetOLMaxLetters(child.getAttribute("type"), child.children.length) + 2; // length of ". " suffix
if (olNeedWidth < EvoConvert.MIN_OL_WIDTH)
olNeedWidth = EvoConvert.MIN_OL_WIDTH;
innerWrapWidth -= olNeedWidth;
if (innerWrapWidth < EvoConvert.MIN_PARAGRAPH_WIDTH)
innerWrapWidth = EvoConvert.MIN_PARAGRAPH_WIDTH;
child.style.width = innerWrapWidth + "ch";
child.style.paddingInlineStart = olNeedWidth + "ch";
}
}
}
EvoEditor.convertParagraphs = function(parent, blockquoteLevel, wrapWidth, canChangeQuoteParagraphs)
{
if (!parent)
......@@ -2025,41 +2082,8 @@ EvoEditor.convertParagraphs = function(parent, blockquoteLevel, wrapWidth, canCh
}
EvoEditor.convertParagraphs(child, blockquoteLevel + 1, innerWrapWidth, canChangeQuoteParagraphs);
} else if (child.tagName == "UL") {
if (wrapWidth == -1) {
child.style.width = "";
EvoEditor.removeEmptyStyleAttribute(child);
} else {
var innerWrapWidth = wrapWidth;
innerWrapWidth -= 3; // length of " * " prefix
if (innerWrapWidth < EvoConvert.MIN_PARAGRAPH_WIDTH)
innerWrapWidth = EvoConvert.MIN_PARAGRAPH_WIDTH;
child.style.width = innerWrapWidth + "ch";
}
} else if (child.tagName == "OL") {
if (wrapWidth == -1) {
child.style.width = "";
child.style.paddingInlineStart = "";
EvoEditor.removeEmptyStyleAttribute(child);
} else {
var innerWrapWidth = wrapWidth, olNeedWidth;
olNeedWidth = EvoConvert.GetOLMaxLetters(child.getAttribute("type"), child.children.length) + 2; // length of ". " suffix
if (olNeedWidth < EvoConvert.MIN_OL_WIDTH)
olNeedWidth = EvoConvert.MIN_OL_WIDTH;
innerWrapWidth -= olNeedWidth;
if (innerWrapWidth < EvoConvert.MIN_PARAGRAPH_WIDTH)
innerWrapWidth = EvoConvert.MIN_PARAGRAPH_WIDTH;
child.style.width = innerWrapWidth + "ch";
child.style.paddingInlineStart = olNeedWidth + "ch";
}
} else {
EvoEditor.setULOLWidth(child, wrapWidth);
}
}
}
......@@ -2077,9 +2101,9 @@ EvoEditor.SetNormalParagraphWidth = function(value)
EvoEditor.moveNodeContent = function(node, intoNode)
{
if (!node || !node.parentElement)
return;
return null;
var parent = node.parentElement;
var parent = node.parentElement, firstChild = node.firstChild;
while (node.firstChild) {
if (intoNode) {
......@@ -2088,6 +2112,8 @@ EvoEditor.moveNodeContent = function(node, intoNode)
parent.insertBefore(node.firstChild, node);
}
}
return firstChild;
}
EvoEditor.convertTags = function()
......@@ -2134,7 +2160,10 @@ EvoEditor.convertTags = function()
while (node) {
var removeNode = false;
if (node.nodeType == node.ELEMENT_NODE) {
next = null;
/* Keep the signature SPAN there, it's required */
if (node.nodeType == node.ELEMENT_NODE && (node.tagName != "SPAN" || node.className != "-x-evo-signature")) {
if (node.tagName != "DIV" &&
node.tagName != "PRE" &&
node.tagName != "BLOCKQUOTE" &&
......@@ -2150,15 +2179,12 @@ EvoEditor.convertTags = function()
EvoEditor.moveNodeContent(node, div);
node.parentElement.insertBefore(div, node.nextSibling);
} else {
EvoEditor.moveNodeContent(node);
next = EvoEditor.moveNodeContent(node);
}
}
}
// skip the signature wrapper
if (!removeNode && node.tagName == "DIV" && node.className == "-x-evo-signature-wrapper")
next = node.nextSibling;
else
if (!next)
next = EvoEditor.getNextNodeInHierarchy(node, document.body);
if (removeNode)
......@@ -2410,7 +2436,7 @@ EvoEditor.convertHtmlToSend = function()
var html, bgcolor, text, link, vlink;
var unsetBgcolor = false, unsetText = false, unsetLink = false, unsetVlink = false;
var themeCss, inheritThemeColors = EvoEditor.inheritThemeColors;
var ii, styles, styleNode = null, topSignatureSpacers, elems;
var ii, styles, styleNode = null, topSignatureSpacers, signatureWrappers, signatures, signatureIds, elems;
themeCss = EvoEditor.UpdateThemeStyleSheet(null);
bgcolor = document.documentElement.getAttribute("x-evo-bgcolor");
......@@ -2424,11 +2450,23 @@ EvoEditor.convertHtmlToSend = function()
document.documentElement.removeAttribute("x-evo-vlink");
topSignatureSpacers = document.querySelectorAll(".-x-evo-top-signature-spacer");
for (ii = topSignatureSpacers.length - 1; ii >= 0; ii--) {
topSignatureSpacers[ii].removeAttribute("class");
}
signatureWrappers = document.querySelectorAll(".-x-evo-signature-wrapper");
for (ii = signatureWrappers.length - 1; ii >= 0; ii--) {
signatureWrappers[ii].removeAttribute("class");
}
signatures = document.querySelectorAll(".-x-evo-signature");
signatureIds = [];
for (ii = signatures.length - 1; ii >= 0; ii--) {
signatureIds[signatures.length - ii - 1] = signatures[ii].id;
signatures[ii].removeAttribute("class");
signatures[ii].removeAttribute("id");
}
if (inheritThemeColors) {
if (bgcolor && !document.body.getAttribute("bgcolor")) {
document.body.setAttribute("bgcolor", bgcolor);
......@@ -2466,6 +2504,7 @@ EvoEditor.convertHtmlToSend = function()
for (ii = 0; ii < elems.length; ii++) {
elems[ii].setAttribute("style", EvoEditor.BLOCKQUOTE_STYLE);
elems[ii].removeAttribute("spellcheck");
}
}
......@@ -2476,6 +2515,7 @@ EvoEditor.convertHtmlToSend = function()
for (ii = 0; ii < elems.length; ii++) {
elems[ii].removeAttribute("style");
elems[ii].setAttribute("spellcheck", "false");
}
}
......@@ -2514,6 +2554,15 @@ EvoEditor.convertHtmlToSend = function()
}
}
for (ii = signatures.length - 1; ii >= 0; ii--) {
signatures[ii].className = "-x-evo-signature";
signatures[ii].id = signatureIds[signatures.length - ii - 1];
}
for (ii = signatureWrappers.length - 1; ii >= 0; ii--) {
signatureWrappers[ii].className = "-x-evo-signature-wrapper";
}
if (themeCss)
EvoEditor.UpdateThemeStyleSheet(themeCss);
......@@ -3062,16 +3111,18 @@ EvoEditor.linkifyText = function(anchorNode, withUndo)
parent = anchorNode.parentElement;
for (ii = 0; ii < parts.length; ii++) {
var part = parts[ii], node, isLast = ii + 1 >= parts.length;
var part = parts[ii], node, isLast = ii + 1 >= parts.length, textLen = part.text.length;
if (part.href) {
node = document.createElement("A");
node.href = part.href;
node.innerText = part.text;
} else if (isLast) {
node = null;
// it can be a space, which cannot be added after the element, thus workaround it this way
newAnchorNode = anchorNode.splitText(matchEnd);
node = anchorNode.splitText(matchEnd);
if (!newAnchorNode && offset <= textLen)
newAnchorNode = node;
node = null;
} else {
node = document.createTextNode(part.text);
}
......@@ -3079,18 +3130,19 @@ EvoEditor.linkifyText = function(anchorNode, withUndo)
if (node)
parent.insertBefore(node, insBefore);
if (!isLast) {
matchEnd += part.text.length;
} else if (node) {
if (node && !newAnchorNode && offset <= textLen)
newAnchorNode = node;
}
else if (!newAnchorNode && offset > textLen)
offset -= textLen;
matchEnd += textLen;
}
if (anchorNode)
anchorNode.remove();
if (updateSelection && newAnchorNode && offset - matchEnd >= 0)
selection.setPosition(newAnchorNode, offset - matchEnd);
if (updateSelection && newAnchorNode)
selection.setPosition(newAnchorNode, offset);
} finally {
if (withUndo) {
EvoUndoRedo.StopRecord(EvoUndoRedo.RECORD_KIND_CUSTOM, "magicLink");
......@@ -3172,16 +3224,42 @@ EvoEditor.beforeInputCb = function(inputEvent)
EvoUndoRedo.StartRecord(EvoUndoRedo.RECORD_KIND_EVENT, inputEvent.inputType, selection.anchorNode, selection.anchorNode,
EvoEditor.CLAIM_CONTENT_FLAG_SAVE_HTML | EvoEditor.CLAIM_CONTENT_FLAG_USE_PARENT_BLOCK_NODE);
try {
var next = selection.anchorNode.nextSibling;
var next, offset = 0;
if (!next)
if (inputEvent.inputType == "deleteContentBackward") {
next = selection.anchorNode.previousSibling;
if (!next)
if (next) {
while (next.lastChild) {
next = next.lastChild;
}
if (next.nodeType == next.TEXT_NODE)
offset = next.nodeValue.length;
} else {
next = selection.anchorNode.nextSibling;
}
} else {
next = selection.anchorNode.nextSibling;
if (!next)
next = selection.anchorNode.previousSibling;
}
if (!next) {
next = selection.anchorNode.parentElement;
if (next && inputEvent.inputType == "deleteContentBackward") {
while (next.lastChild) {
next = next.lastChild;
}
if (next.nodeType == next.TEXT_NODE)
offset = next.nodeValue.length;
}
}
selection.anchorNode.remove();
selection.setPosition(next, 0);
selection.setPosition(next, offset);
} finally {
EvoUndoRedo.StopRecord(EvoUndoRedo.RECORD_KIND_EVENT, inputEvent.inputType);
}
......@@ -5013,6 +5091,7 @@ EvoEditor.InsertContent = function(text, isHTML, quote)
if (quote) {
content.setAttribute("type", "cite");
content.setAttribute("spellcheck", "false");
}
if (isHTML) {
......@@ -5455,6 +5534,7 @@ EvoEditor.processLoadedContent = function()
if (didCite) {
didCite = document.createElement("BLOCKQUOTE");
didCite.setAttribute("type", "cite");
didCite.setAttribute("spellcheck", "false");
while (document.body.firstChild) {
didCite.appendChild(document.body.firstChild);
......@@ -5564,6 +5644,7 @@ EvoEditor.processLoadedContent = function()
blockquoteNode.removeAttribute("class");
blockquoteNode.removeAttribute("style");
blockquoteNode.setAttribute("type", "cite");
blockquoteNode.setAttribute("spellcheck", "false");
}
if (EvoEditor.mode == EvoEditor.MODE_PLAIN_TEXT) {
......
......@@ -346,7 +346,13 @@
"cp config.h.in config.h.in.orig",
"cat config.h.in.orig | sed -e \"s|\\@VERSION_SUBSTRING\\@| \\(flatpak git$(git log --pretty=format:%h --max-count=1)\\)|\" >config.h.in"
]
},
}
]
},
{
"name": "flatpak-evolution-wrapper",
"buildsystem": "simple",
"sources": [
{
"type": "script",
"commands": [
......@@ -399,14 +405,13 @@
"dest-filename": "flatpak-evolution-fix-service-names.sh"
}
],
"post-install": [
"build-commands": [
"./flatpak-evolution-fix-service-names.sh <flatpak-evolution-wrapper.sh.in >flatpak-evolution-wrapper.sh",
"chmod a+x flatpak-evolution-wrapper.sh",
"mv /app/bin/evolution /app/bin/evolution.bin",
"cp flatpak-evolution-wrapper.sh /app/bin/evolution"
]
},
{
"name": "evolution-ews",
"buildsystem": "cmake-ninja",
......
......@@ -345,7 +345,13 @@
"cp config.h.in config.h.in.orig",
"cat config.h.in.orig | sed -e \"s|\\@VERSION_SUBSTRING\\@| \\(flatpak git$(git log --pretty=format:%h --max-count=1)\\)|\" >config.h.in"
]
},
}
]
},
{
"name": "flatpak-evolution-wrapper",
"buildsystem": "simple",
"sources": [
{
"type": "script",
"commands": [
......@@ -398,14 +404,13 @@
"dest-filename": "flatpak-evolution-fix-service-names.sh"
}
],
"post-install": [
"build-commands": [
"./flatpak-evolution-fix-service-names.sh <flatpak-evolution-wrapper.sh.in >flatpak-evolution-wrapper.sh",
"chmod a+x flatpak-evolution-wrapper.sh",
"mv /app/bin/evolution /app/bin/evolution.bin",
"cp flatpak-evolution-wrapper.sh /app/bin/evolution"
]
},
{
"name": "evolution-ews",
"buildsystem": "cmake-ninja",
......
......@@ -13,7 +13,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Back up and restore your <app>Evolution</app> data and
settings.</desc>
......
......@@ -18,7 +18,7 @@
<!-- Content partially from https://help.gnome.org/users/evolution/2.32/config-prefs-cal.html.en#CACHCGCI -->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Setting up reminder notifications for appointments.</desc>
</info>
......
......@@ -18,7 +18,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Using an online CalDAV calendar.</desc>
</info>
......
......@@ -18,7 +18,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Restricting visibility of appointments on remote servers.</desc>
</info>
......
......@@ -19,7 +19,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Using the Free/Busy view on a groupware server to set up
meetings.</desc>
......
......@@ -19,7 +19,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Using the online calendar of your Google account.</desc>
</info>
......
......@@ -18,7 +18,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Define the displaying of appointments in the calendar.</desc>
</info>
......
......@@ -17,7 +17,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<!-- TODO:POST-3-8: Just listing the partially busted UI options (also see
calendar-layout-appointment-display) here is very poor and not
......
......@@ -18,7 +18,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Using date ranges (day, week, month) to look at the calendar.</desc>
</info>
......
......@@ -12,7 +12,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Adjusting the display and views of the calendar.</desc>
</info>
......
......@@ -12,7 +12,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Adding another local calendar.</desc>
</info>
......
......@@ -12,7 +12,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>The red "Marcus Bains" line displays the current time.</desc>
</info>
......
......@@ -17,7 +17,7 @@
https://help.gnome.org/users/evolution/2.32/bxqatxt.html -->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Ask somebody else to run the meeting.</desc>
</info>
......
......@@ -15,7 +15,7 @@
<name its:translate="no">Novell, Inc</name> <!-- Content partially from https://help.gnome.org/users/evolution/2.32/usage-calendar-apts.html.en#replying-to-rsvp -->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
</info>
......
......@@ -18,7 +18,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Sending a Meeting Invitation.</desc>
</info>
......
......@@ -12,7 +12,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Using meetings in the calendar.</desc>
</info>
......
......@@ -13,7 +13,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>On using several calendars, searching, and categories.</desc>
</info>
......
......@@ -20,7 +20,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Post your calendar content in public.</desc>
</info>
......
......@@ -18,7 +18,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Repeating appointments.</desc>
</info>
......
......@@ -22,7 +22,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Searching appointments and meetings.</desc>
</info>
......
......@@ -12,7 +12,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Make your information (appointments and free/busy times) available to
others.</desc>
......
......@@ -17,7 +17,7 @@
https://help.gnome.org/users/evolution/2.32/bshlzlu.html.en -->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Using time zones in the calendar.</desc>
</info>
......
......@@ -12,7 +12,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Adding an appointment.</desc>
</info>
......
......@@ -12,7 +12,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Deleting an appointment in your calendar.</desc>
</info>
......
......@@ -12,7 +12,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Editing in appointment in your calendar.</desc>
</info>
......
......@@ -13,7 +13,7 @@
<email its:translate="no">ak-47@gmx.net</email>
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>On adding, editing, and deleting appointments.</desc>
</info>
......
......@@ -20,7 +20,7 @@
-->
</credit>
<include href="legal.xml" xmlns="https://www.w3.org/2001/XInclude"/>
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc>Adding and using more than one calendar and different types.</desc>
</info>
......