aboutsummaryrefslogtreecommitdiff
path: root/src/mimeview.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mimeview.c')
-rw-r--r--src/mimeview.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/mimeview.c b/src/mimeview.c
index 10439bdd..1e3014d2 100644
--- a/src/mimeview.c
+++ b/src/mimeview.c
@@ -124,7 +124,8 @@ static GtkItemFactoryEntry mimeview_popup_entries[] =
{N_("/_Open"), NULL, mimeview_launch, 0, NULL},
{N_("/Open _with..."), NULL, mimeview_open_with, 0, NULL},
{N_("/_Display as text"), NULL, mimeview_display_as_text, 0, NULL},
- {N_("/_Save as..."), NULL, mimeview_save_as, 0, NULL}
+ {N_("/_Save as..."), NULL, mimeview_save_as, 0, NULL},
+ {N_("/Save _all..."), NULL, mimeview_save_all, 0, NULL}
#if USE_GPGME
,
{N_("/_Check signature"), NULL, mimeview_check_signature, 0, NULL}
@@ -1024,6 +1025,19 @@ void mimeview_save_as(MimeView *mimeview)
g_free(filename);
}
+void mimeview_save_all(MimeView *mimeview)
+{
+ gchar *dir;
+
+ dir = filesel_select_dir(NULL);
+ if (!dir) return;
+
+ if (procmime_get_all_parts(dir, mimeview->file, mimeview->mimeinfo) < 0)
+ alertpanel_error(_("Can't save the attachments."));
+
+ g_free(dir);
+}
+
static void mimeview_launch(MimeView *mimeview)
{
MimeInfo *partinfo;