sync with 0.7.4cvs49
[claws.git] / src / mimeview.c
index 019f91958e17d3896c86fd07da30074735d9c1a9..76f8de16982bee2604489ed871b349db00898a51 100644 (file)
@@ -198,6 +198,8 @@ MimeView *mimeview_create(void)
 
        gtk_widget_show_all(notebook);
 
+       gtk_notebook_set_page(GTK_NOTEBOOK(notebook), 0);
+
        n_entries = sizeof(mimeview_popup_entries) /
                sizeof(mimeview_popup_entries[0]);
        popupmenu = menu_create_items(mimeview_popup_entries, n_entries,
@@ -226,7 +228,7 @@ void mimeview_init(MimeView *mimeview)
 #if USE_GPGME
 static gboolean mimeview_is_signed(MimeView *mimeview)
 {
-       MimeInfo *partinfo;
+       MimeInfo *partinfo = NULL;
 
         debug_print("mimeview_is signed of %p\n", mimeview);
 
@@ -247,8 +249,6 @@ static gboolean mimeview_is_signed(MimeView *mimeview)
        do {
                if (rfc2015_has_signature(partinfo))
                        return TRUE;
-               if (pgptext_has_signature(partinfo))
-                       return TRUE;
         } while ((partinfo = partinfo->parent) != NULL);
 
        debug_print("mimeview_is_signed: FALSE\n" );
@@ -288,7 +288,7 @@ void mimeview_show_message(MimeView *mimeview, MimeInfo *mimeinfo,
 
        mimeview->mimeinfo = mimeinfo;
 
-       if ((fp = fopen(file, "r")) == NULL) {
+       if ((fp = fopen(file, "rb")) == NULL) {
                FILE_OP_ERROR(file, "fopen");
                return;
        }
@@ -326,17 +326,11 @@ void mimeview_show_message(MimeView *mimeview, MimeInfo *mimeinfo,
                partinfo = gtk_ctree_node_get_row_data(ctree, node);
                if (partinfo &&
                    (partinfo->mime_type == MIME_TEXT ||
-                    partinfo->mime_type == MIME_TEXT_HTML)) {
-                       if (fseek(fp, partinfo->fpos, SEEK_SET) < 0)
-                               perror("fseek");
-                       else
-                               textview_show_part
-                                       (mimeview->messageview->textview,
-                                        partinfo, fp);
+                    partinfo->mime_type == MIME_TEXT_HTML))
                        break;
-               }
        }
        fclose(fp);
+       textview_show_message(mimeview->messageview->textview, mimeinfo, file);
 
        if (!node)
                node = GTK_CTREE_NODE(GTK_CLIST(ctree)->row_list);
@@ -431,7 +425,7 @@ static void mimeview_show_message_part(MimeView *mimeview, MimeInfo *partinfo)
 #endif /* USE_GPGME */
        if (!fname) return;
 
-       if ((fp = fopen(fname, "r")) == NULL) {
+       if ((fp = fopen(fname, "rb")) == NULL) {
                FILE_OP_ERROR(fname, "fopen");
                return;
        }
@@ -721,6 +715,7 @@ static gint mimeview_key_pressed(GtkWidget *widget, GdkEventKey *event,
                mimeview_launch(mimeview);
                return TRUE;
        default:
+               break;
        }
 
        if (!mimeview->messageview->mainwin) return FALSE;
@@ -867,7 +862,8 @@ static void mimeview_open_with(MimeView *mimeview)
                 _("Enter the command line to open file:\n"
                   "(`%s' will be replaced with file name)"),
                 prefs_common.mime_open_cmd,
-                prefs_common.mime_open_cmd_history);
+                prefs_common.mime_open_cmd_history,
+                TRUE);
        if (cmd) {
                mimeview_view_file(filename, partinfo, cmd);
                g_free(prefs_common.mime_open_cmd);
@@ -984,7 +980,7 @@ static void mimeview_check_signature(MimeView *mimeview)
        while (mimeinfo->parent)
                mimeinfo = mimeinfo->parent;
 
-       if ((fp = fopen(mimeview->file, "r")) == NULL) {
+       if ((fp = fopen(mimeview->file, "rb")) == NULL) {
                FILE_OP_ERROR(mimeview->file, "fopen");
                return;
        }