aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-request.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/e-mail-request.c')
-rw-r--r--mail/e-mail-request.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/mail/e-mail-request.c b/mail/e-mail-request.c
index 000a0b0516..c3f0b8552d 100644
--- a/mail/e-mail-request.c
+++ b/mail/e-mail-request.c
@@ -71,6 +71,7 @@ handle_mail_request (GSimpleAsyncResult *res,
GByteArray *ba;
gchar *part_id;
gchar *val;
+ const gchar *default_charset, *charset;
EMailFormatterContext context = { 0 };
@@ -99,6 +100,9 @@ handle_mail_request (GSimpleAsyncResult *res,
if (val)
context.mode = atoi (val);
+ default_charset = g_hash_table_lookup (request->priv->uri_query, "formatter_default_charset");
+ charset = g_hash_table_lookup (request->priv->uri_query, "formatter_charset");
+
context.part_list = g_object_ref (part_list);
context.uri = request->priv->full_uri;
@@ -107,6 +111,11 @@ handle_mail_request (GSimpleAsyncResult *res,
else
formatter = e_mail_formatter_new ();
+ if (default_charset && *default_charset)
+ e_mail_formatter_set_default_charset (formatter, default_charset);
+ if (charset && *charset)
+ e_mail_formatter_set_charset (formatter, charset);
+
part_id = g_hash_table_lookup (request->priv->uri_query, "part_id");
if (part_id) {
EMailPart *part;