2004-10-14 [colin] 0.9.12cvs126.2
[claws.git] / src / textview.c
index 13bff83a3822290754bf61614ef284c7be83efa5..e23d2a32621e19b4142e2313db14207e8d81a46b 100644 (file)
@@ -358,6 +358,7 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo)
        gchar buf[BUFFSIZE];
        GPtrArray *headers = NULL;
        const gchar *name;
+       gchar *content_type;
        gint charcount;
 
        g_return_if_fail(mimeinfo != NULL);
@@ -385,17 +386,18 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo)
        }
 
        name = procmime_mimeinfo_get_parameter(mimeinfo, "filename");
+       content_type = procmime_get_content_type_str(mimeinfo->type,
+                                                    mimeinfo->subtype);
        if (name == NULL)
                name = procmime_mimeinfo_get_parameter(mimeinfo, "name");
        if (name != NULL)
-               g_snprintf(buf, sizeof(buf), "\n[%s  %s/%s (%d bytes)]\n",
-                          name,
-                          procmime_get_type_str(mimeinfo->type),
-                          mimeinfo->subtype, mimeinfo->length);
+               g_snprintf(buf, sizeof(buf), "\n[%s  %s (%d bytes)]\n",
+                          name, content_type, mimeinfo->length);
        else
-               g_snprintf(buf, sizeof(buf), "\n[%s/%s (%d bytes)]\n",
-                          procmime_get_type_str(mimeinfo->type),
-                          mimeinfo->subtype, mimeinfo->length);
+               g_snprintf(buf, sizeof(buf), "\n[%s (%d bytes)]\n",
+                          content_type, mimeinfo->length);
+
+       g_free(content_type);                      
 
        if (mimeinfo->type != MIMETYPE_TEXT) {
                gtk_text_buffer_insert(buffer, &iter, buf, -1);
@@ -1072,10 +1074,11 @@ static void textview_write_line(TextView *textview, const gchar *str,
        buffer = gtk_text_view_get_buffer(text);
        gtk_text_buffer_get_end_iter(buffer, &iter);
 
-       if (!conv)
-               strncpy2(buf, str, sizeof(buf));
-       else if (conv_convert(conv, buf, sizeof(buf), str) < 0)
+       if (!conv) {
                strncpy2(buf, str, sizeof(buf));
+       } else if (conv_convert(conv, buf, sizeof(buf), str) < 0) {
+               conv_localetodisp(buf, sizeof(buf), str);
+       }
 
        strcrchomp(buf);
        if (prefs_common.conv_mb_alnum) conv_mb_alnum(buf);