#include <modest-tny-account.h>
#include <modest-mime-part-view.h>
#include <modest-isearch-view.h>
+#include <modest-tny-mime-part.h>
#include <math.h>
#include <errno.h>
#include <glib/gstdio.h>
+#include <modest-debug.h>
#define DEFAULT_FOLDER "MyDocs/.documents"
ModestWindow *main_window = NULL;
ModestWindowMgr *mgr = NULL;
+ MODEST_DEBUG_BLOCK (
+ modest_tny_mime_part_to_string (TNY_MIME_PART (msg), 0);
+ );
+
mgr = modest_runtime_get_window_mgr ();
window = MODEST_MSG_VIEW_WINDOW (modest_window_mgr_get_msg_view_window (mgr));
g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (window), NULL);
return;
}
- if (!TNY_IS_MSG (mime_part)) {
+ if (!modest_tny_mime_part_is_msg (mime_part)) {
gchar *filepath = NULL;
const gchar *att_filename = tny_mime_part_get_filename (mime_part);
const gchar *content_type;
{
GList *pairs;
GtkWidget *banner;
- gboolean result;
+ GnomeVFSResult result;
} SaveMimePartInfo;
static void save_mime_part_info_free (SaveMimePartInfo *info, gboolean with_struct);
if (info->pairs != NULL) {
save_mime_part_to_file (info);
} else {
- gboolean result;
- result = info->result;
-
/* This is a GDK lock because we are an idle callback and
* hildon_banner_show_information is or does Gtk+ code */
gdk_threads_enter (); /* CHECKED */
save_mime_part_info_free (info, TRUE);
- if (result) {
+ if (info->result == GNOME_VFS_OK) {
hildon_banner_show_information (NULL, NULL, _CS("sfil_ib_saved"));
+ } else if (info->result == GNOME_VFS_ERROR_NO_SPACE) {
+ hildon_banner_show_information (NULL, NULL, dgettext("ke-recv",
+ "cerm_device_memory_full"));
} else {
hildon_banner_show_information (NULL, NULL, _("mail_ib_file_operation_failed"));
}
static gpointer
save_mime_part_to_file (SaveMimePartInfo *info)
{
- GnomeVFSResult result;
GnomeVFSHandle *handle;
TnyStream *stream;
SaveMimePartPair *pair = (SaveMimePartPair *) info->pairs->data;
- gboolean decode_result = TRUE;
- result = gnome_vfs_create (&handle, pair->filename, GNOME_VFS_OPEN_WRITE, FALSE, 0644);
- if (result == GNOME_VFS_OK) {
+ info->result = gnome_vfs_create (&handle, pair->filename, GNOME_VFS_OPEN_WRITE, FALSE, 0644);
+ if (info->result == GNOME_VFS_OK) {
stream = tny_vfs_stream_new (handle);
if (tny_mime_part_decode_to_stream (pair->part, stream, NULL) < 0) {
- decode_result = FALSE;
+ info->result = GNOME_VFS_ERROR_IO;
}
g_object_unref (G_OBJECT (stream));
g_object_unref (pair->part);
g_slice_free (SaveMimePartPair, pair);
info->pairs = g_list_delete_link (info->pairs, info->pairs);
- info->result = decode_result;
} else {
save_mime_part_info_free (info, FALSE);
- info->result = FALSE;
}
g_idle_add ((GSourceFunc) idle_save_mime_part_show_result, info);
iter = tny_list_create_iterator (mime_parts);
TnyMimePart *mime_part = (TnyMimePart *) tny_iterator_get_current (iter);
g_object_unref (iter);
- if (!TNY_IS_MSG (mime_part) && tny_mime_part_is_attachment (mime_part)) {
+ if (!modest_tny_mime_part_is_msg (mime_part) && tny_mime_part_is_attachment (mime_part)) {
filename = tny_mime_part_get_filename (mime_part);
} else {
g_warning ("Tried to save a non-file attachment");
iter = tny_list_create_iterator (mime_parts);
part = (TnyMimePart *) tny_iterator_get_current (iter);
g_object_unref (iter);
- if (TNY_IS_MSG (part)) {
+ if (modest_tny_mime_part_is_msg (part)) {
TnyHeader *header;
header = tny_msg_get_header (TNY_MSG (part));
filename = tny_header_get_subject (header);