diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2009-08-10 08:24:20 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2009-08-10 08:24:20 +0000 |
commit | 36e9b9dd2e3da9326aa38ceba4ac15d5051921b7 (patch) | |
tree | 8956e418c8550fe1f82d89d8ee9441639670e954 /src | |
parent | 9d04ad2be73ccb6f806bf97a5442f7a3adc23ae8 (diff) |
added eml file import (one file).
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2203 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r-- | src/import.c | 21 |
1 files changed, 18 insertions, 3 deletions
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(); |