+2005-01-19 [colin] 1.0.0cvs2
+
+ * src/mbox.c
+ * src/mbox.h
+ * src/mainwindow.c
+ * src/summaryview.c
+ * src/summaryview.h
+ Add an easy way to export specific messages
+ to an mbox file.
+
2005-01-19 [paul] 1.0.0cvs1
* po/ja.po
( cvs diff -u -r 1.127 -r 1.128 AUTHORS; cvs diff -u -r 1.72 -r 1.73 po/es.po; cvs diff -u -r 1.51 -r 1.52 po/fr.po; cvs diff -u -r 1.8 -r 1.9 po/hr.po; cvs diff -u -r 1.38 -r 1.39 po/it.po; cvs diff -u -r 1.53 -r 1.54 po/pt_BR.po; cvs diff -u -r 1.13 -r 1.14 po/sk.po; cvs diff -u -r 1.24 -r 1.25 po/sr.po; ) > 0.9.13cvs37.patchset
( cvs diff -u -r 1.25 -r 1.26 src/crash.c; cvs diff -u -r 1.11 -r 1.12 src/gtk/pluginwindow.c; ) > 0.9.13cvs38.patchset
( cvs diff -u -r 1.24 -r 1.25 po/ja.po; cvs diff -u -r 1.9 -r 1.10 po/ko.po; ) > 1.0.0cvs1.patchset
+( cvs diff -u -r 1.315 -r 1.316 src/mainwindow.c; cvs diff -u -r 1.30 -r 1.31 src/mbox.c; cvs diff -u -r 1.4 -r 1.5 src/mbox.h; cvs diff -u -r 1.451 -r 1.452 src/summaryview.c; cvs diff -u -r 1.74 -r 1.75 src/summaryview.h; ) > 1.0.0cvs2.patchset
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=1
+EXTRA_VERSION=2
EXTRA_RELEASE=
if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
static void export_mbox_cb (MainWindow *mainwin,
guint action,
GtkWidget *widget);
+static void export_list_mbox_cb (MainWindow *mainwin,
+ guint action,
+ GtkWidget *widget);
static void empty_trash_cb (MainWindow *mainwin,
guint action,
GtkWidget *widget);
{N_("/_File/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_File/_Import mbox file..."), NULL, import_mbox_cb, 0, NULL},
{N_("/_File/_Export to mbox file..."), NULL, export_mbox_cb, 0, NULL},
+ {N_("/_File/_Export selected to mbox file..."),
+ NULL, export_list_mbox_cb, 0, NULL},
{N_("/_File/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_File/Empty all _Trash folders"), "<shift>D", empty_trash_cb, 0, NULL},
{N_("/_File/---"), NULL, NULL, 0, "<Separator>"},
if (prefs_common.folderview_visible)
gtk_widget_show(folderwin);
}
+
if (type & SEPARATE_MESSAGE) {
messagewin = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(messagewin),
export_mbox(mainwin->summaryview->folder_item);
}
+static void export_list_mbox_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget)
+{
+ summaryview_export_mbox_list(mainwin->summaryview);
+}
+
static void empty_trash_cb(MainWindow *mainwin, guint action,
GtkWidget *widget)
{
fclose(fp);
}
-/* read all messages in SRC, and store them into one MBOX file. */
-gint export_to_mbox(FolderItem *src, const gchar *mbox)
+gint export_list_to_mbox(GSList *mlist, const gchar *mbox)
{
- GSList *mlist;
GSList *cur;
MsgInfo *msginfo;
FILE *msg_fp;
FILE *mbox_fp;
gchar buf[BUFFSIZE];
- g_return_val_if_fail(src != NULL, -1);
- g_return_val_if_fail(src->folder != NULL, -1);
- g_return_val_if_fail(mbox != NULL, -1);
-
- debug_print("Exporting messages from %s into %s...\n",
- src->path, mbox);
-
if ((mbox_fp = fopen(mbox, "wb")) == NULL) {
FILE_OP_ERROR(mbox, "fopen");
return -1;
}
- mlist = folder_item_get_msg_list(src);
-
for (cur = mlist; cur != NULL; cur = cur->next) {
msginfo = (MsgInfo *)cur->data;
fclose(msg_fp);
procmsg_msginfo_free(msginfo);
}
+
+ fclose(mbox_fp);
- g_slist_free(mlist);
+ return 0;
+}
- fclose(mbox_fp);
+/* read all messages in SRC, and store them into one MBOX file. */
+gint export_to_mbox(FolderItem *src, const gchar *mbox)
+{
+ GSList *mlist;
+ int res = 0;
+
+ g_return_val_if_fail(src != NULL, -1);
+ g_return_val_if_fail(src->folder != NULL, -1);
+ g_return_val_if_fail(mbox != NULL, -1);
+
+ debug_print("Exporting messages from %s into %s...\n",
+ src->path, mbox);
+
+ mlist = folder_item_get_msg_list(src);
+
+ export_list_to_mbox(mlist, mbox);
+
+ g_slist_free(mlist);
return 0;
}
gint export_to_mbox (FolderItem *src,
const gchar *mbox);
+gint export_list_to_mbox(GSList *mlist,
+ const gchar *mbox);
#endif /* __MBOX_H__ */
if (node)
summary_select_node(summaryview, node, TRUE, TRUE);
}
+
+void summaryview_export_mbox_list(SummaryView *summaryview)
+{
+ GSList *list = summary_get_selected_msg_list(summaryview);
+ gchar *mbox = filesel_select_file(_("Export to mbox file"), NULL);
+
+ if (mbox == NULL || list == NULL)
+ return;
+
+ export_list_to_mbox(list, mbox);
+
+ g_slist_free(list);
+ g_free(mbox);
+
+}
(SummaryView *summaryview, FolderItem *item);
void summary_save_prefs_to_folderitem
(SummaryView *summaryview, FolderItem *item);
-
+void summaryview_export_mbox_list (SummaryView *summaryview);
#endif /* __SUMMARY_H__ */