2005-01-19 [colin] 1.0.0cvs2.1
authorColin Leroy <colin@colino.net>
Wed, 19 Jan 2005 10:53:22 +0000 (10:53 +0000)
committerColin Leroy <colin@colino.net>
Wed, 19 Jan 2005 10:53:22 +0000 (10:53 +0000)
* src/mbox.c
* src/mbox.h
* src/mainwindow.c
* src/summaryview.c
* src/summaryview.h
Sync with HEAD

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/mainwindow.c
src/mbox.c
src/mbox.h
src/summaryview.c
src/summaryview.h

index b33af81b9766bd44b964703e3eea8ad06dcaffd4..1f73847ad1a93a7ab11e00c69757f4d2aa66a525 100644 (file)
@@ -1,3 +1,12 @@
+2005-01-19 [colin]     1.0.0cvs2.1
+
+       * src/mbox.c
+       * src/mbox.h
+       * src/mainwindow.c
+       * src/summaryview.c
+       * src/summaryview.h
+               Sync with HEAD
+
 2005-01-19 [paul]      1.0.0cvs1.1
 
        * configure.ac
index 48f995726b9d1713e0d4b8edd16bf8ef7c617a3c..3b62607de97d30143fbe403cac5074be6fc4df38 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.30.2.8 -r 1.30.2.9 src/prefs_toolbar.c; cvs diff -u -r 1.4.2.6 -r 1.4.2.7 src/prefs_fonts.c; cvs diff -u -r 1.60.2.9 -r 1.60.2.10 src/prefs_actions.c; ) > 0.9.13cvs36.3.patchset
 ( cvs diff -u -r 1.26.2.9 -r 1.26.2.10 src/foldersel.c; ) > 1.0.0cvs0.1.patchset
 ( cvs diff -u -r 1.654.2.360 -r 1.654.2.361 configure.ac; cvs diff -u -r 1.58.2.5 -r 1.58.2.6 po/de.po; cvs diff -u -r 1.60.2.6 -r 1.60.2.7 po/es.po; cvs diff -u -r 1.42.2.6 -r 1.42.2.7 po/fr.po; cvs diff -u -r 1.7.2.3 -r 1.7.2.4 po/hr.po; cvs diff -u -r 1.34.2.5 -r 1.34.2.6 po/it.po; cvs diff -u -r 1.16.2.4 -r 1.16.2.5 po/ja.po; cvs diff -u -r 1.8.2.2 -r 1.8.2.3 po/ko.po; cvs diff -u -r 1.50.2.4 -r 1.50.2.5 po/pt_BR.po; cvs diff -u -r 1.17.2.3 -r 1.17.2.4 po/ru.po; cvs diff -u -r 1.2.2.7 -r 1.2.2.8 po/sk.po; cvs diff -u -r 1.17.2.7 -r 1.17.2.8 po/sr.po; ) > 1.0.0cvs1.1.patchset
+( cvs diff -u -r 1.274.2.26 -r 1.274.2.27 src/mainwindow.c; cvs diff -u -r 1.28.2.2 -r 1.28.2.3 src/mbox.c; cvs diff -u -r 1.3.2.2 -r 1.3.2.3 src/mbox.h; cvs diff -u -r 1.395.2.41 -r 1.395.2.42 src/summaryview.c; cvs diff -u -r 1.68.2.4 -r 1.68.2.5 src/summaryview.h; ) > 1.0.0cvs2.1.patchset
index fac341ae3058d5c0f5a6cd9eef40a8d061b8121e..09de9b425642be713e795875c82428635d164a07 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=0
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=1
+EXTRA_VERSION=2
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=.1
 
index c7efcaa3cc807661dda7b1d040a6f49a53a72a05..33b7fca34db0af4f9ba3de8d488ec6dc54729b06 100644 (file)
@@ -160,6 +160,9 @@ static void import_mbox_cb   (MainWindow    *mainwin,
 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);
@@ -444,6 +447,8 @@ static GtkItemFactoryEntry mainwin_entries[] =
        {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>"},
@@ -1996,6 +2001,7 @@ static void main_window_set_widgets(MainWindow *mainwin, SeparateType type)
                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),
@@ -2371,6 +2377,12 @@ static void export_mbox_cb(MainWindow *mainwin, guint action,
        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)
 {
index 4527a3e52e33e7325834d66db9212801760b5be8..a28724f1e0fffc48e6b566be8c321d8e293e8ee8 100644 (file)
@@ -365,30 +365,19 @@ void empty_mbox(const gchar *mbox)
        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;
 
@@ -418,10 +407,30 @@ gint export_to_mbox(FolderItem *src, const gchar *mbox)
                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;
 }
index ef3c6a12e8c20f8af60cef24040da05cd08ec761..3e72c2266434362c4316e63f9ef43309f76bfa7d 100644 (file)
@@ -47,5 +47,7 @@ void empty_mbox               (const gchar    *mbox);
 
 gint export_to_mbox    (FolderItem     *src,
                         const gchar    *mbox);
+gint export_list_to_mbox(GSList        *mlist, 
+                        const gchar    *mbox);
 
 #endif /* __MBOX_H__ */
index f1ac05f8e5e2318f61915a1a2c061490285aab3a..8e34478cc0ca59e6d379716eac22381517d5a683 100644 (file)
@@ -5346,3 +5346,18 @@ static void summary_find_answers (SummaryView *summaryview, MsgInfo *msg)
        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_save(_("Export to mbox file"), NULL);
+       
+       if (mbox == NULL || list == NULL)
+               return;
+               
+       export_list_to_mbox(list, mbox);
+       
+       g_slist_free(list);
+       g_free(mbox);
+       
+}
index f613521c57ab4fd48a4bba3b35c8c39ad23d235c..93781a8fb1332d57882fba35686b12caed272b47 100644 (file)
@@ -278,5 +278,5 @@ void summary_set_prefs_from_folderitem
                                   (SummaryView *summaryview, FolderItem *item);
 void summary_save_prefs_to_folderitem
                                   (SummaryView *summaryview, FolderItem *item);
-
+void summaryview_export_mbox_list (SummaryView *summaryview);
 #endif /* __SUMMARY_H__ */