More simplification
[claws.git] / src / textview.c
index ef50dd8f0350085b51d8c594bb5b432fecdeb6b7..2d027c2fe96350f9b2b97cab7ab89f1fffe94ae5 100644 (file)
@@ -631,34 +631,17 @@ void textview_show_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp)
        cm_return_if_fail(mimeinfo != NULL);
        cm_return_if_fail(fp != NULL);
 
-       if ((mimeinfo->type == MIMETYPE_MULTIPART) ||
-           ((mimeinfo->type == MIMETYPE_MESSAGE) && !g_ascii_strcasecmp(mimeinfo->subtype, "rfc822"))) {
-               textview->loading = TRUE;
-               textview->stop_loading = FALSE;
-               
-               textview_clear(textview);
-               textview_add_parts(textview, mimeinfo);
-
-               textview->loading = FALSE;
-               textview->stop_loading = FALSE;
-               END_TIMING();
-               return;
-       }
        textview->loading = TRUE;
        textview->stop_loading = FALSE;
 
-       if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0)
-               perror("fseek");
-
        textview_clear(textview);
 
-       if (mimeinfo->type == MIMETYPE_MULTIPART)
-               textview_add_parts(textview, mimeinfo);
-       else
-               textview_write_body(textview, mimeinfo);
+       textview_add_parts(textview, mimeinfo);
 
        textview->loading = FALSE;
        textview->stop_loading = FALSE;
+       textview_set_position(textview, 0);
+
        END_TIMING();
 }
 
@@ -814,7 +797,7 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo)
                        END_TIMING();
                        GTK_EVENTS_FLUSH();
                }
-       } else if (mimeinfo->type == MIMETYPE_TEXT) {
+       } else {
                if (prefs_common.display_header && (charcount > 0))
                        gtk_text_buffer_insert(buffer, &iter, "\n", 1);
 
@@ -1757,6 +1740,7 @@ void textview_clear(TextView *textview)
        if (textview->image) 
                gtk_widget_destroy(textview->image);
        textview->image = NULL;
+       textview->avatar_type = 0;
 
        if (textview->messageview->mainwin->cursor_count == 0) {
                textview_set_cursor(window, text_cursor);
@@ -1987,6 +1971,7 @@ static void textview_show_avatar(TextView *textview)
                gtk_widget_destroy(textview->image);
        
        textview->image = avatarr->image;
+       textview->avatar_type = avatarr->type;
        avatarr->image = NULL; /* avoid destroying */
        avatars_avatarrender_free(avatarr);
 
@@ -2005,6 +1990,7 @@ bail:
        if (textview->image) 
                gtk_widget_destroy(textview->image);
        textview->image = NULL; 
+       textview->avatar_type = 0;
 }
 
 void textview_show_icon(TextView *textview, const gchar *stock_id)
@@ -2044,6 +2030,9 @@ static void textview_save_contact_pic(TextView *textview)
        if (!msginfo->extradata || !msginfo->extradata->avatars)
                return;
 
+       if (textview->avatar_type > AVATAR_FACE)
+               return;
+
        if (textview->image) 
                picture = gtk_image_get_pixbuf(GTK_IMAGE(textview->image));
 
@@ -2132,6 +2121,7 @@ bail:
        if (textview->image) 
                gtk_widget_destroy(textview->image);
        textview->image = NULL;
+       textview->avatar_type = 0;
 #else
        /* new address book */
 #endif