aboutsummaryrefslogtreecommitdiffstats
path: root/composer/e-msg-composer.c
diff options
context:
space:
mode:
Diffstat (limited to 'composer/e-msg-composer.c')
-rw-r--r--composer/e-msg-composer.c96
1 files changed, 12 insertions, 84 deletions
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 266009b114..71a343b359 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -111,76 +111,6 @@ get_text (Bonobo_PersistStream persist, char *format)
#define LINE_LEN 72
-/* This might be a temporary function... the GtkHTML export interfaces are
- * not yet complete, so some or all of this may move into GtkHTML.
- */
-static char *
-format_text (char *text)
-{
- GString *out;
- char *s, *space, *outstr;
- int len, tabbing, i;
- gboolean linestart = TRUE, cited = FALSE;
-
- tabbing = 0; /* Shut down compiler. */
- len = strlen (text);
- out = g_string_sized_new (len + len / LINE_LEN);
-
- s = text;
- while (*s) {
- if (linestart) {
- tabbing = 0;
- while (*s == '\t') {
- s++;
- tabbing++;
- }
- cited = (tabbing == 0 && *s == '>');
- }
-
- len = strcspn (s, "\n");
- if (!cited && len > LINE_LEN - tabbing * 8) {
- /* If we can break anywhere between s and
- * s + LINE_LEN, do that. We can break between
- * space and anything but  
- */
- space = s + LINE_LEN - tabbing * 8;
- while (space > s && (*space != ' '
- || (*(space + 1) == '\240')
- || (*(space - 1) == '\240')))
- space--;
-
- if (space != s)
- len = space - s;
- }
-
- /* Do initial tabs */
- for (i = 0; i < tabbing; i++)
- g_string_append_c (out, '\t');
-
- /* Copy the line... */
- while (len--) {
- g_string_append_c (out, *s == '\240' ? ' ' : *s);
- s++;
- }
-
- /* Eat whitespace... */
- while (*s == ' ' || *s == '\240')
- s++;
- if (*s == '\n') {
- s++;
- linestart = TRUE;
- } else
- linestart = FALSE;
-
- /* And end the line. */
- g_string_append_c (out, '\n');
- }
-
- outstr = out->str;
- g_string_free (out, FALSE);
- return outstr;
-}
-
typedef enum {
MSG_FORMAT_PLAIN,
MSG_FORMAT_ALTERNATIVE,
@@ -230,7 +160,7 @@ build_message (EMsgComposer *composer)
CamelMimePart *part;
gchar *from = NULL;
gboolean e8bit;
- char *html = NULL, *plain = NULL, *fmt = NULL;
+ char *html = NULL, *plain = NULL;
int i;
if (composer->persist_stream_interface == CORBA_OBJECT_NIL)
@@ -271,16 +201,14 @@ build_message (EMsgComposer *composer)
if (plain == NULL)
return NULL;
- fmt = format_text (plain);
- e8bit = is_8bit (fmt);
- g_free (plain);
+ e8bit = is_8bit (plain);
if (type != MSG_FORMAT_PLAIN) {
html = get_text (composer->persist_stream_interface, "text/html");
/* the component has probably died */
if (html == NULL) {
- g_free (fmt);
+ g_free (plain);
return NULL;
}
}
@@ -292,11 +220,11 @@ build_message (EMsgComposer *composer)
camel_multipart_set_boundary (body, NULL);
part = camel_mime_part_new ();
- camel_mime_part_set_content (part, fmt, strlen (fmt), "text/plain");
+ camel_mime_part_set_content (part, plain, strlen (plain), "text/plain");
if (e8bit)
- camel_mime_part_set_encoding (part, best_encoding (fmt));
+ camel_mime_part_set_encoding (part, best_encoding (plain));
- g_free (fmt);
+ g_free (plain);
camel_multipart_add_part (body, part);
camel_object_unref (CAMEL_OBJECT (part));
@@ -321,10 +249,10 @@ build_message (EMsgComposer *composer)
camel_object_unref (CAMEL_OBJECT (body));
break;
case MSG_FORMAT_PLAIN:
- camel_mime_part_set_content (part, fmt, strlen (fmt), "text/plain");
+ camel_mime_part_set_content (part, plain, strlen (plain), "text/plain");
if (e8bit)
- camel_mime_part_set_encoding (part, best_encoding (fmt));
- g_free (fmt);
+ camel_mime_part_set_encoding (part, best_encoding (plain));
+ g_free (plain);
break;
}
camel_multipart_add_part (multipart, part);
@@ -341,10 +269,10 @@ build_message (EMsgComposer *composer)
camel_object_unref (CAMEL_OBJECT (body));
break;
case MSG_FORMAT_PLAIN:
- camel_mime_part_set_content (CAMEL_MIME_PART (new), fmt, strlen (fmt), "text/plain");
+ camel_mime_part_set_content (CAMEL_MIME_PART (new), plain, strlen (plain), "text/plain");
if (e8bit)
- camel_mime_part_set_encoding (CAMEL_MIME_PART (new), best_encoding (fmt));
- g_free (fmt);
+ camel_mime_part_set_encoding (CAMEL_MIME_PART (new), best_encoding (plain));
+ g_free (plain);
break;
}
}