[evolution] EHTMLEditorUtils - Add argument where we can specify into what level the node will be split



commit ac3de32f52855097fe74c24e3a18e6a0ea12a58e
Author: Tomas Popela <tpopela redhat com>
Date:   Mon Sep 14 07:12:46 2015 +0200

    EHTMLEditorUtils - Add argument where we can specify into what level the node will be split

 e-util/e-html-editor-selection.c |    2 +-
 e-util/e-html-editor-utils.c     |    9 ++++++++-
 e-util/e-html-editor-utils.h     |    3 ++-
 e-util/e-html-editor-view.c      |    2 +-
 4 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/e-util/e-html-editor-selection.c b/e-util/e-html-editor-selection.c
index 21da6b0..f93c2d0 100644
--- a/e-util/e-html-editor-selection.c
+++ b/e-util/e-html-editor-selection.c
@@ -2272,7 +2272,7 @@ do_format_change_list_to_block (EHTMLEditorSelection *selection,
        }
 
        if (webkit_dom_node_contains (source_list, WEBKIT_DOM_NODE (selection_end)))
-               source_list = split_list_into_two (item);
+               source_list = split_node_into_two (item, -1);
        else {
                source_list = webkit_dom_node_get_next_sibling (source_list);
        }
diff --git a/e-util/e-html-editor-utils.c b/e-util/e-html-editor-utils.c
index 9e39800..ab9c6e4 100644
--- a/e-util/e-html-editor-utils.c
+++ b/e-util/e-html-editor-utils.c
@@ -314,8 +314,10 @@ remove_node_if_empty (WebKitDOMNode *node)
 }
 
 WebKitDOMNode *
-split_list_into_two (WebKitDOMNode *item)
+split_node_into_two (WebKitDOMNode *item,
+                     gint level)
 {
+       gint current_level = 1;
        WebKitDOMDocument *document;
        WebKitDOMDocumentFragment *fragment;
        WebKitDOMNode *parent, *prev_parent, *tmp;
@@ -356,6 +358,11 @@ split_list_into_two (WebKitDOMNode *item)
                                        first_child, sibling, insert_before, NULL);
                        }
                }
+
+               if (current_level >= level && level >= 0)
+                       break;
+
+               current_level++;
        }
 
        tmp = webkit_dom_node_insert_before (
diff --git a/e-util/e-html-editor-utils.h b/e-util/e-html-editor-utils.h
index efc8662..a2454dd 100644
--- a/e-util/e-html-editor-utils.h
+++ b/e-util/e-html-editor-utils.h
@@ -66,7 +66,8 @@ void          remove_node                     (WebKitDOMNode *node);
 
 void           remove_node_if_empty            (WebKitDOMNode *node);
 
-WebKitDOMNode *        split_list_into_two             (WebKitDOMNode *item);
+WebKitDOMNode *        split_node_into_two             (WebKitDOMNode *item,
+                                                gint level);
 
 WebKitDOMElement *
                create_selection_marker         (WebKitDOMDocument *document,
diff --git a/e-util/e-html-editor-view.c b/e-util/e-html-editor-view.c
index 8d8a3d9..b416658 100644
--- a/e-util/e-html-editor-view.c
+++ b/e-util/e-html-editor-view.c
@@ -4958,7 +4958,7 @@ return_pressed_in_empty_list_item (EHTMLEditorView *view,
                        fragment = webkit_dom_document_create_document_fragment (document);
                }
 
-               list = split_list_into_two (parent);
+               list = split_node_into_two (parent, -1);
 
                if (save_history) {
                        webkit_dom_node_append_child (


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]