X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-formatter.c;h=ff73f89e9d6e30ff2af5cf0768e390d6fb96b071;hb=af22975e59fa7288ce28e7cf089eb12f7f2e07b8;hp=7a2332911872b7207a7dd75f47889ec1cc773cb2;hpb=b09daad954384d34091b51a04eda7fd3a57a5f22;p=modest diff --git a/src/modest-formatter.c b/src/modest-formatter.c index 7a23329..ff73f89 100644 --- a/src/modest-formatter.c +++ b/src/modest-formatter.c @@ -27,7 +27,6 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include #include @@ -37,6 +36,7 @@ #include "modest-formatter.h" #include "modest-text-utils.h" #include "modest-tny-platform-factory.h" +#include typedef struct _ModestFormatterPrivate ModestFormatterPrivate; struct _ModestFormatterPrivate { @@ -50,9 +50,7 @@ static GObjectClass *parent_class = NULL; typedef gchar* FormatterFunc (ModestFormatter *self, const gchar *text, TnyHeader *header); -static TnyMsg *modest_formatter_do (ModestFormatter *self, - TnyMimePart *body, - TnyHeader *header, +static TnyMsg *modest_formatter_do (ModestFormatter *self, TnyMimePart *body, TnyHeader *header, FormatterFunc func); static gchar* modest_formatter_wrapper_cite (ModestFormatter *self, const gchar *text, TnyHeader *header); @@ -75,26 +73,23 @@ extract_text (ModestFormatter *self, TnyMimePart *body) tny_stream_reset (stream); g_object_unref (G_OBJECT(stream)); - g_object_unref (G_OBJECT(body)); gtk_text_buffer_get_bounds (buf, &start, &end); text = gtk_text_buffer_get_text (buf, &start, &end, FALSE); - g_object_unref (buf); + g_object_unref (G_OBJECT(buf)); /* Convert to desired content type if needed */ priv = MODEST_FORMATTER_GET_PRIVATE (self); - if (strcmp (tny_mime_part_get_content_type (body), priv->content_type)) { + if (strcmp (tny_mime_part_get_content_type (body), priv->content_type) == 0) { if (!strcmp (priv->content_type, "text/html")) converted_text = modest_text_utils_convert_to_html (text); else converted_text = g_strdup (text); -/* converted_text = modest_text_utils_convert_to_plain (text); */ g_free (text); text = converted_text; } - return text; } @@ -120,25 +115,24 @@ construct_from_text (TnyMimePart *part, } static TnyMsg * -modest_formatter_do (ModestFormatter *self, - TnyMimePart *body, - TnyHeader *header, - FormatterFunc func) +modest_formatter_do (ModestFormatter *self, TnyMimePart *body, TnyHeader *header, FormatterFunc func) { - TnyMsg *new_msg; + TnyMsg *new_msg = NULL; gchar *body_text = NULL, *txt = NULL; ModestFormatterPrivate *priv; - TnyPlatformFactory *fact; g_return_val_if_fail (self, NULL); - g_return_val_if_fail (body, NULL); g_return_val_if_fail (header, NULL); g_return_val_if_fail (func, NULL); /* Build new part */ - fact = modest_tny_platform_factory_get_instance (); - new_msg = tny_platform_factory_new_msg (fact); - body_text = extract_text (self, body); + new_msg = tny_platform_factory_new_msg (modest_runtime_get_platform_factory()); + + if (body) + body_text = extract_text (self, body); + else + body_text = g_strdup (""); + txt = (gchar *) func (self, (const gchar*) body_text, header); priv = MODEST_FORMATTER_GET_PRIVATE (self); construct_from_text (TNY_MIME_PART (new_msg), (const gchar*) txt, priv->content_type); @@ -173,11 +167,12 @@ modest_formatter_attach (ModestFormatter *self, TnyMimePart *body, TnyHeader *he { TnyMsg *new_msg = NULL; gchar *attach_text = NULL; + const gchar *subject; TnyMimePart *body_part = NULL, *attach_part = NULL; ModestFormatterPrivate *priv; TnyPlatformFactory *fact; - fact = modest_tny_platform_factory_get_instance (); + fact = modest_runtime_get_platform_factory (); /* Build new part */ new_msg = tny_platform_factory_new_msg (fact); body_part = tny_platform_factory_new_mime_part (fact); @@ -188,7 +183,8 @@ modest_formatter_attach (ModestFormatter *self, TnyMimePart *body, TnyHeader *he attach_text = extract_text (self, body); construct_from_text (body_part, "", priv->content_type); construct_from_text (attach_part, (const gchar*) attach_text, priv->content_type); - tny_mime_part_set_filename (attach_part, tny_header_get_subject (header)); + subject = tny_header_get_subject (header); + tny_mime_part_set_filename (attach_part, subject ? subject : _("No subject")); /* Add parts */ tny_mime_part_add_part (TNY_MIME_PART (new_msg), body_part);