[evolution/gnome-3-18] EHTMLEditorView - Pasting HTML content with new lines between elements inserts these lines into com
- From: Tomas Popela <tpopela src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/gnome-3-18] EHTMLEditorView - Pasting HTML content with new lines between elements inserts these lines into com
- Date: Fri, 16 Oct 2015 12:52:41 +0000 (UTC)
commit 38b4f3b5733d7c48a377a6be5158e4e29fa8a5c5
Author: Tomas Popela <tpopela redhat com>
Date: Fri Oct 16 14:47:39 2015 +0200
EHTMLEditorView - Pasting HTML content with new lines between elements inserts these lines into composer
Before processing the HTML we need to remove the new lines between elements otherwise
they will be inserted to the composer as well.
e-util/e-html-editor-view.c | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
---
diff --git a/e-util/e-html-editor-view.c b/e-util/e-html-editor-view.c
index 868982d..0cf1efa 100644
--- a/e-util/e-html-editor-view.c
+++ b/e-util/e-html-editor-view.c
@@ -7926,8 +7926,23 @@ html_editor_view_insert_converted_html_into_selection (EHTMLEditorView *view,
if (is_html) {
gchar *inner_text;
- webkit_dom_html_element_set_inner_html (
- WEBKIT_DOM_HTML_ELEMENT (element), html, NULL);
+ if (strstr (html, "\n")) {
+ GRegex *regex;
+ gchar *tmp;
+
+ /* Strip new lines between tags to avoid unwanted line breaks. */
+ regex = g_regex_new ("\\>[\\s]+\\<", 0, 0, NULL);
+ tmp = g_regex_replace (
+ regex, html, -1, 0, "> <", 0, NULL);
+ webkit_dom_html_element_set_inner_html (
+ WEBKIT_DOM_HTML_ELEMENT (element), tmp, NULL);
+ g_free (tmp);
+ g_regex_unref (regex);
+ } else {
+ webkit_dom_html_element_set_inner_html (
+ WEBKIT_DOM_HTML_ELEMENT (element), html, NULL);
+ }
+
inner_text = webkit_dom_html_element_get_inner_text (
WEBKIT_DOM_HTML_ELEMENT (element));
webkit_dom_html_element_set_inner_text (
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]