/* Check errors */
if (canceled || err) {
priv->status = MODEST_MAIL_OPERATION_STATUS_FINISHED_WITH_ERRORS;
- if (!priv->error)
+ if (err) {
+ priv->error = g_error_copy ((const GError *) err);
+ priv->error->domain = MODEST_MAIL_OPERATION_ERROR;
+ }
+ if (!priv->error) {
g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR,
MODEST_MAIL_OPERATION_ERROR_ITEM_NOT_FOUND,
err->message);
+ }
} else if (finished && priv->status == MODEST_MAIL_OPERATION_STATUS_IN_PROGRESS) {
/* Set the success status before calling the user callback */
priv->status = MODEST_MAIL_OPERATION_STATUS_SUCCESS;
{
const GError *error;
GObject *win = NULL;
- const gchar *err_msg = (const gchar *) user_data;
win = modest_mail_operation_get_source (mail_op);
error = modest_mail_operation_get_error (mail_op);
/* Show error */
- if (err_msg)
- modest_platform_run_information_dialog ((GtkWindow *) win, err_msg);
+ if (error->code == TNY_SYSTEM_ERROR_MEMORY ||
+ error->code == TNY_IO_ERROR_WRITE ||
+ error->code == TNY_IO_ERROR_READ) {
+ modest_platform_information_banner ((GtkWidget *) win,
+ NULL, dgettext("ke-recv",
+ "cerm_device_memory_full"));
+ }
if (win)
g_object_unref (win);
#include <tny-simple-list.h>
#include <tny-folder-monitor.h>
#include <tny-folder-change.h>
+#include <tny-error.h>
#include <string.h>
#include <modest-header-view.h>
g_free (info);
}
+static void
+refresh_folder_error_handler (ModestMailOperation *mail_op,
+ gpointer user_data)
+{
+ const GError *error = modest_mail_operation_get_error (mail_op);
+
+ if (error->code == TNY_SYSTEM_ERROR_MEMORY ||
+ error->code == TNY_IO_ERROR_WRITE ||
+ error->code == TNY_IO_ERROR_READ) {
+ modest_platform_information_banner (NULL, NULL,
+ dgettext("ke-recv",
+ "cerm_device_memory_full"));
+ }
+}
+
void
modest_header_view_set_folder (ModestHeaderView *self,
TnyFolder *folder,
info->user_data = user_data;
/* Create the mail operation (source will be the parent widget) */
- mail_op = modest_mail_operation_new (G_OBJECT(main_win));
+ mail_op = modest_mail_operation_new_with_error_handling (G_OBJECT(main_win),
+ refresh_folder_error_handler,
+ NULL, NULL);
modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
mail_op);