[evolution] Use a faster way of quoting an element if possible when converting the content
- From: Tomas Popela <tpopela src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Use a faster way of quoting an element if possible when converting the content
- Date: Wed, 17 Aug 2016 15:16:22 +0000 (UTC)
commit 33f696dd05c6d556344e6a8e9aa3360d08b6bad2
Author: Tomas Popela <tpopela redhat com>
Date: Wed Aug 17 17:10:38 2016 +0200
Use a faster way of quoting an element if possible when converting the content
.../web-extension/e-editor-dom-functions.c | 33 ++++++++++++++-----
1 files changed, 24 insertions(+), 9 deletions(-)
---
diff --git a/modules/webkit-editor/web-extension/e-editor-dom-functions.c
b/modules/webkit-editor/web-extension/e-editor-dom-functions.c
index 83b8573..823436d 100644
--- a/modules/webkit-editor/web-extension/e-editor-dom-functions.c
+++ b/modules/webkit-editor/web-extension/e-editor-dom-functions.c
@@ -5491,19 +5491,17 @@ create_text_markers_for_selection_in_element (WebKitDOMElement *element)
}
static void
-quote_plain_text_elements_after_wrapping_in_document (EEditorPage *editor_page)
+quote_plain_text_elements_after_wrapping_in_element (EEditorPage *editor_page,
+ WebKitDOMElement *element)
{
- WebKitDOMDocument *document;
WebKitDOMNodeList *list = NULL;
gint length, ii;
g_return_if_fail (E_IS_EDITOR_PAGE (editor_page));
- document = e_editor_page_get_document (editor_page);
-
/* Also quote the PRE elements as well. */
- list = webkit_dom_document_query_selector_all (
- document, "blockquote[type=cite] > p[data-evo-paragraph], blockquote[type=cite] > pre", NULL);
+ list = webkit_dom_element_query_selector_all (
+ element, "blockquote[type=cite] > p[data-evo-paragraph], blockquote[type=cite] > pre", NULL);
length = webkit_dom_node_list_get_length (list);
for (ii = 0; ii < length; ii++) {
@@ -5518,6 +5516,18 @@ quote_plain_text_elements_after_wrapping_in_document (EEditorPage *editor_page)
}
static void
+quote_plain_text_elements_after_wrapping_in_document (EEditorPage *editor_page)
+{
+ WebKitDOMDocument *document;
+ WebKitDOMHTMLElement *body;
+
+ document = e_editor_page_get_document (editor_page);
+ body = webkit_dom_document_get_body (document);
+
+ quote_plain_text_elements_after_wrapping_in_element (editor_page, WEBKIT_DOM_ELEMENT (body));
+}
+
+static void
clear_attributes (EEditorPage *editor_page)
{
WebKitDOMDocument *document;
@@ -7951,9 +7961,14 @@ e_editor_dom_process_content_to_plain_text_for_exporting (EEditorPage *editor_pa
remove_node (webkit_dom_node_list_item (list, ii));
g_clear_object (&list);
- if (quote)
- quote_plain_text_recursive (document, source, source, 0);
- else if (e_editor_page_get_html_mode (editor_page)) {
+ webkit_dom_node_normalize (source);
+
+ if (quote) {
+ if (wrap)
+ quote_plain_text_elements_after_wrapping_in_element (editor_page, WEBKIT_DOM_ELEMENT
(source));
+ else
+ quote_plain_text_recursive (document, source, source, 0);
+ } else if (e_editor_page_get_html_mode (editor_page)) {
WebKitDOMElement *citation;
citation = webkit_dom_element_query_selector (
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]