aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-08-10 08:24:20 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-08-10 08:24:20 +0000
commit36e9b9dd2e3da9326aa38ceba4ac15d5051921b7 (patch)
tree8956e418c8550fe1f82d89d8ee9441639670e954
parent9d04ad2be73ccb6f806bf97a5442f7a3adc23ae8 (diff)
added eml file import (one file).
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2203 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog4
-rw-r--r--src/import.c21
2 files changed, 22 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index d3aa9f32..1e2dbc6e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2009-08-10
+ * src/import.c: added eml file import (one file).
+
+2009-08-10
+
* src/import.c: added format selection menu, and refactored the code.
2009-08-10
diff --git a/src/import.c b/src/import.c
index 131cbf3d..c5b95d06 100644
--- a/src/import.c
+++ b/src/import.c
@@ -157,6 +157,10 @@ static gint import_do(void)
FolderItem *dest;
gchar *filename;
gchar *msg;
+ gint type;
+
+ type = menu_get_option_menu_active_index
+ (GTK_OPTION_MENU(format_optmenu));
utf8filename = gtk_entry_get_text(GTK_ENTRY(file_entry));
destdir = gtk_entry_get_text(GTK_ENTRY(dest_entry));
@@ -168,6 +172,11 @@ static gint import_do(void)
g_warning("faild to convert character set\n");
filename = g_strdup(utf8filename);
}
+ if (!g_file_test(filename, G_FILE_TEST_EXISTS)) {
+ alertpanel_error(_("The source file does not exist."));
+ g_free(filename);
+ return -1;
+ }
if (!destdir || !*destdir) {
dest = folder_find_item_from_path(INBOX_DIR);
@@ -193,9 +202,15 @@ static gint import_do(void)
gtk_widget_show(progress->window);
ui_update();
- folder_set_ui_func(dest->folder, proc_mbox_func, NULL);
- ok = proc_mbox(dest, filename, NULL);
- folder_set_ui_func(dest->folder, NULL, NULL);
+ if (type == IMPORT_MBOX) {
+ folder_set_ui_func(dest->folder, proc_mbox_func, NULL);
+ ok = proc_mbox(dest, filename, NULL);
+ folder_set_ui_func(dest->folder, NULL, NULL);
+ } else if (type == IMPORT_EML_FILE) {
+ MsgFlags flags = { MSG_NEW|MSG_UNREAD, MSG_RECEIVED };
+ folder_item_add_msg(dest, filename, &flags, FALSE);
+ } else if (type == IMPORT_EML_FOLDER) {
+ }
progress_dialog_set_label(progress, _("Scanning folder..."));
ui_update();