diff options
author | Tomas Popela <tpopela@redhat.com> | 2014-06-16 21:59:14 +0800 |
---|---|---|
committer | Tomas Popela <tpopela@redhat.com> | 2014-06-16 21:59:14 +0800 |
commit | 4a12e23cab29df538eeec9b5f4d7dcf9a2f6cca0 (patch) | |
tree | cb0913a91a3fce77216d0ba3187600935212b724 /e-util/e-web-view.c | |
parent | d2b05fd46bbc736466ae172c64bed727e3b889b8 (diff) | |
download | gsoc2013-evolution-4a12e23cab29df538eeec9b5f4d7dcf9a2f6cca0.tar gsoc2013-evolution-4a12e23cab29df538eeec9b5f4d7dcf9a2f6cca0.tar.gz gsoc2013-evolution-4a12e23cab29df538eeec9b5f4d7dcf9a2f6cca0.tar.bz2 gsoc2013-evolution-4a12e23cab29df538eeec9b5f4d7dcf9a2f6cca0.tar.lz gsoc2013-evolution-4a12e23cab29df538eeec9b5f4d7dcf9a2f6cca0.tar.xz gsoc2013-evolution-4a12e23cab29df538eeec9b5f4d7dcf9a2f6cca0.tar.zst gsoc2013-evolution-4a12e23cab29df538eeec9b5f4d7dcf9a2f6cca0.zip |
EHTMLEditor: Move remove_node and remove_node_if_empty to EWebView
And use them in EHTMLEditorView if possible.
Diffstat (limited to 'e-util/e-web-view.c')
-rw-r--r-- | e-util/e-web-view.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/e-util/e-web-view.c b/e-util/e-web-view.c index 5c6a8fbf57..5a1881dd85 100644 --- a/e-util/e-web-view.c +++ b/e-util/e-web-view.c @@ -3655,3 +3655,32 @@ element_remove_class (WebKitDOMElement *element, g_free (element_class); } + +void +remove_node (WebKitDOMNode *node) +{ + webkit_dom_node_remove_child ( + webkit_dom_node_get_parent_node (node), node, NULL); +} + +void +remove_node_if_empty (WebKitDOMNode *node) +{ + if (!WEBKIT_DOM_IS_NODE (node)) + return; + + if (!webkit_dom_node_get_first_child (node)) { + remove_node (node); + } else { + gchar *text_content; + + text_content = webkit_dom_node_get_text_content (node); + if (!text_content) + remove_node (node); + + if (text_content && !*text_content) + remove_node (node); + + g_free (text_content); + } +} |