diff options
-rw-r--r-- | composer/e-composer-private.c | 1 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 38 | ||||
-rw-r--r-- | composer/e-msg-composer.h | 2 | ||||
-rw-r--r-- | plugins/attachment-reminder/attachment-reminder.c | 3 |
4 files changed, 43 insertions, 1 deletions
diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c index bc3b6d8078..f36f217f4d 100644 --- a/composer/e-composer-private.c +++ b/composer/e-composer-private.c @@ -1177,6 +1177,7 @@ insert: body = webkit_dom_document_get_body (document); element = webkit_dom_document_create_element (document, "DIV", NULL); + webkit_dom_element_set_class_name (element, "-x-evo-signature-wrapper"); webkit_dom_html_element_set_inner_html ( WEBKIT_DOM_HTML_ELEMENT (element), html_buffer->str, NULL); diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c index 2489a2e137..2e1f12df28 100644 --- a/composer/e-msg-composer.c +++ b/composer/e-msg-composer.c @@ -4925,6 +4925,44 @@ e_msg_composer_get_reply_to (EMsgComposer *composer) } /** + * e_msg_composer_get_raw_message_text_without_signature: + * + * Returns the text/plain of the message from composer without signature + **/ +GByteArray * +e_msg_composer_get_raw_message_text_without_signature (EMsgComposer *composer) +{ + EHTMLEditor *editor; + EHTMLEditorView *view; + GByteArray *array; + gint ii, length; + WebKitDOMDocument *document; + WebKitDOMNodeList *list; + + g_return_val_if_fail (E_IS_MSG_COMPOSER (composer), NULL); + + editor = e_msg_composer_get_editor (composer); + view = e_html_editor_get_view (editor); + document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view)); + array = g_byte_array_new (); + + list = webkit_dom_document_query_selector_all ( + document, "body > *:not(.-x-evo-signature-wrapper)", NULL); + length = webkit_dom_node_list_get_length (list); + for (ii = 0; ii < length; ii++) { + gchar *text; + WebKitDOMNode *node = webkit_dom_node_list_item (list, ii); + + text = webkit_dom_html_element_get_inner_text ( + WEBKIT_DOM_HTML_ELEMENT (node)); + g_byte_array_append (array, (guint8 *) text, strlen (text)); + g_free (text); + } + + return array; +} + +/** * e_msg_composer_get_raw_message_text: * * Returns the text/plain of the message from composer diff --git a/composer/e-msg-composer.h b/composer/e-msg-composer.h index f6990415f7..1efc6c124e 100644 --- a/composer/e-msg-composer.h +++ b/composer/e-msg-composer.h @@ -181,6 +181,8 @@ EComposerHeaderTable * EAttachmentView * e_msg_composer_get_attachment_view (EMsgComposer *composer); +GByteArray * e_msg_composer_get_raw_message_text_without_signature + (EMsgComposer *composer); GByteArray * e_msg_composer_get_raw_message_text (EMsgComposer *composer); diff --git a/plugins/attachment-reminder/attachment-reminder.c b/plugins/attachment-reminder/attachment-reminder.c index d3edd3c01e..17b2b5c020 100644 --- a/plugins/attachment-reminder/attachment-reminder.c +++ b/plugins/attachment-reminder/attachment-reminder.c @@ -86,7 +86,8 @@ org_gnome_evolution_attachment_reminder (EPlugin *ep, if (check_for_attachment (t->composer)) return; - raw_msg_barray = e_msg_composer_get_raw_message_text (t->composer); + raw_msg_barray = + e_msg_composer_get_raw_message_text_without_signature (t->composer); if (!raw_msg_barray) return; |