aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e-util/e-html-editor-view.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/e-util/e-html-editor-view.c b/e-util/e-html-editor-view.c
index 3ab77673fc..0c5c04147e 100644
--- a/e-util/e-html-editor-view.c
+++ b/e-util/e-html-editor-view.c
@@ -3419,6 +3419,7 @@ parse_html_into_paragraphs (EHTMLEditorView *view,
GString *start, *end;
gboolean ignore_next_br = FALSE;
GRegex *regex_nbsp = NULL, *regex_links = NULL;
+ gboolean first_element = TRUE;
webkit_dom_html_element_set_inner_html (
WEBKIT_DOM_HTML_ELEMENT (blockquote), "", NULL);
@@ -3540,23 +3541,38 @@ parse_html_into_paragraphs (EHTMLEditorView *view,
*rest_to_insert ? rest_to_insert : "<br>",
NULL);
+ if (g_strcmp0 (rest_to_insert, UNICODE_ZERO_WIDTH_SPACE) == 0)
+ webkit_dom_html_element_set_inner_html (
+ WEBKIT_DOM_HTML_ELEMENT (paragraph), "<br>", NULL);
+
webkit_dom_node_append_child (
WEBKIT_DOM_NODE (blockquote),
WEBKIT_DOM_NODE (paragraph),
NULL);
g_free (rest_to_insert);
+ } else if (rest && !*rest && first_element) {
+ webkit_dom_html_element_set_inner_html (
+ WEBKIT_DOM_HTML_ELEMENT (paragraph),
+ "<br class=\"-x-evo-first-br\">",
+ NULL);
+
+ webkit_dom_node_append_child (
+ WEBKIT_DOM_NODE (blockquote),
+ WEBKIT_DOM_NODE (paragraph),
+ NULL);
}
if (citation_end)
ignore_next_br = TRUE;
+ first_element = FALSE;
prev_br = next_br;
next_br = strstr (prev_br + 4, "<br>");
g_free (to_insert);
}
- if (g_utf8_strlen (prev_br, -1) > 0 && (g_strcmp0 (prev_br, "<br>") != 0)) {
+ if (g_utf8_strlen (prev_br, -1) > 0) {
gchar *truncated = g_strdup (
g_str_has_prefix (prev_br, "<br>") ? prev_br + 4 : prev_br);
gchar *rest_to_insert;
@@ -3598,9 +3614,16 @@ parse_html_into_paragraphs (EHTMLEditorView *view,
webkit_dom_html_element_set_inner_html (
WEBKIT_DOM_HTML_ELEMENT (paragraph),
- *rest_to_insert ? rest_to_insert : "<br>",
+ *rest_to_insert ?
+ rest_to_insert : "<br class=\"-x-evo-last-br\">",
NULL);
+ if (g_strcmp0 (rest_to_insert, UNICODE_ZERO_WIDTH_SPACE) == 0)
+ webkit_dom_html_element_set_inner_html (
+ WEBKIT_DOM_HTML_ELEMENT (paragraph),
+ "<br class=\"-x-evo-last-br\">",
+ NULL);
+
webkit_dom_node_append_child (
WEBKIT_DOM_NODE (blockquote),
WEBKIT_DOM_NODE (paragraph),