if (modest_msg_view_window_last_message_selected (win) &&
modest_msg_view_window_first_message_selected (win)) {
modest_ui_actions_on_close_window (NULL, MODEST_WINDOW (win));
- } else if (!modest_msg_view_window_select_next_message (win)) {
+ } else if (!modest_msg_view_window_select_next_message (win) &&
+ !modest_msg_view_window_select_previous_message (win)) {
gboolean ret_value;
g_signal_emit_by_name (G_OBJECT (win), "delete-event", NULL, &ret_value);
}
gtk_tree_path_free (prev_path);
}
- /* Update window dimming state */
+ /* Update toolbar dimming state */
if (main_window)
- modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (main_window));
+ modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (main_window));
/* Free */
g_list_foreach (sel_list, (GFunc) gtk_tree_path_free, NULL);
modest_ui_actions_compose_msg(win, NULL, NULL, NULL, NULL, NULL, NULL);
}
+void
+modest_ui_actions_on_new_msg_or_folder (GtkAction *action, ModestWindow *win)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (win));
+
+ /* Check first if the folder view has the focus */
+ if (MODEST_IS_MAIN_WINDOW (win)) {
+ GtkWidget *w;
+ w = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (win),
+ MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW);
+ if (gtk_widget_is_focus (w)) {
+ modest_ui_actions_on_new_folder (action, MODEST_MAIN_WINDOW(win));
+ return;
+ }
+ }
+
+ modest_ui_actions_on_new_msg (action, win);
+}
+
+
gboolean
modest_ui_actions_msg_retrieval_check (ModestMailOperation *mail_op,
TnyHeader *header,
gtk_widget_show_all (GTK_WIDGET(win));
}
- /* Update window dimming state */
+ /* Update toolbar dimming state */
if (MODEST_IS_MAIN_WINDOW (parent_win)) {
- modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (parent_win));
+ modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (parent_win));
}
cleanup:
{
const GError *error;
GObject *win = NULL;
- const gchar *err_msg;
+ const gchar *err_msg = (const gchar *) user_data;
win = modest_mail_operation_get_source (mail_op);
error = modest_mail_operation_get_error (mail_op);
-
- /* Select error message */
- if (error->code == MODEST_MAIL_OPERATION_ERROR_MESSAGE_SIZE_LIMIT)
- err_msg = _("emev_ni_ui_imap_msg_size_exceed_error");
- else
- err_msg = (const gchar *) user_data;
/* Show error */
modest_platform_run_information_dialog ((GtkWindow *) win, err_msg);
return account;
}
+static void
+foreach_unregister_headers (gpointer data,
+ gpointer user_data)
+{
+ ModestWindowMgr *mgr = (ModestWindowMgr *) user_data;
+ TnyHeader *header = TNY_HEADER (data);
+
+ modest_window_mgr_unregister_header (mgr, header);
+}
+
static void
open_msgs_performer(gboolean canceled,
GError *err,
status = tny_account_get_connection_status (account);
if (err || canceled) {
+ /* Unregister the already registered headers */
+ tny_list_foreach (not_opened_headers, foreach_unregister_headers,
+ modest_runtime_get_window_mgr ());
goto clean;
}
/* Connect to the account and perform */
if (uncached_msgs > 0) {
- modest_platform_connect_and_perform ((GtkWindow *) win, g_object_ref (account),
+ modest_platform_connect_and_perform ((GtkWindow *) win, TRUE, g_object_ref (account),
open_msgs_performer, g_object_ref (not_opened_headers));
} else {
/* Call directly the performer, do not need to connect */
send&receive was invoked by the user then do not show any
visual notification, only play a sound and activate the LED
(for the Maemo version) */
- if ((new_headers != NULL) && (tny_list_get_length (new_headers) > 0))
+ if (TNY_IS_LIST(new_headers) && (tny_list_get_length (new_headers)) > 0)
modest_platform_on_new_headers_received (new_headers,
show_visual_notifications);
*/
void
modest_ui_actions_do_send_receive (const gchar *account_name,
+ gboolean force_connection,
ModestWindow *win)
{
gchar *acc_name = NULL;
TNY_ACCOUNT_TYPE_STORE);
/* Invoke the connect and perform */
- modest_platform_connect_and_perform ((win) ? GTK_WINDOW (win) : NULL, info->account,
+ modest_platform_connect_and_perform ((win) ? GTK_WINDOW (win) : NULL,
+ force_connection, info->account,
do_send_receive_performer, info);
}
MODEST_MAIL_OPERATION_ERROR_ITEM_NOT_FOUND,
"modest: could not find send queue for account\n");
} else {
- /* Keeep messages in outbox folder */
- tny_send_queue_cancel (send_queue, FALSE, &error);
- }
+ /* Cancel the current send */
+ tny_account_cancel (TNY_ACCOUNT (transport_account));
+
+ /* Suspend all pending messages */
+ tny_send_queue_cancel (send_queue, TNY_SEND_QUEUE_CANCEL_ACTION_SUSPEND, &error);
+ }
frees:
if (transport_account != NULL)
* updates
*/
void
-modest_ui_actions_do_send_receive_all (ModestWindow *win)
+modest_ui_actions_do_send_receive_all (ModestWindow *win,
+ gboolean force_connection)
{
GSList *account_names, *iter;
iter = account_names;
while (iter) {
- modest_ui_actions_do_send_receive ((const char*) iter->data, win);
+ modest_ui_actions_do_send_receive ((const char*) iter->data, force_connection, win);
iter = g_slist_next (iter);
}
g_object_unref (folder_store);
}
- /* Refresh the active account */
- modest_ui_actions_do_send_receive (NULL, win);
+ /* Refresh the active account. Force the connection if needed */
+ modest_ui_actions_do_send_receive (NULL, TRUE, win);
}
if (!gtk_widget_is_focus (GTK_WIDGET(header_view)))
gtk_widget_grab_focus (GTK_WIDGET(header_view));
- /* Update window dimming state */
- modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (main_window));
+ /* Update toolbar dimming state */
+ modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (main_window));
}
void
}
}
- /* Update window dimming state */
- modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (main_window));
+ /* Update toolbar dimming state */
+ modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (main_window));
}
void
if (modest_mail_operation_get_error (mail_op) != NULL) {
g_warning ("%s failed: %s\n", __FUNCTION__, (modest_mail_operation_get_error (mail_op))->message);
modest_platform_information_banner (NULL, NULL, _("mail_ib_file_operation_failed"));
- return;
+ } else {
+ modest_msg_edit_window_set_draft (edit_window, saved_draft);
}
-
- modest_msg_edit_window_set_draft (edit_window, saved_draft);
+ g_object_unref(edit_window);
}
void
data->images,
data->priority_flags,
on_save_to_drafts_cb,
- edit_window);
+ g_object_ref(edit_window));
info_text = g_strdup_printf (_("mail_va_saved_to_drafts"), _("mcen_me_folder_drafts"));
modest_platform_information_banner (NULL, NULL, info_text);
{
gchar *suggested_name = (gchar *) user_data;
GtkWindow *source_win = (GtkWindow *) modest_mail_operation_get_source (mail_op);
-
+
if (modest_mail_operation_get_error (mail_op)) {
/* Show an error */
modest_platform_information_banner (GTK_WIDGET (source_win), NULL,
if (parent_folder) {
/* The parent folder will be freed in the callback */
modest_platform_connect_if_remote_and_perform (GTK_WINDOW (parent_window),
+ TRUE,
parent_folder,
create_folder_performer,
parent_folder);
} RenameFolderInfo;
static void
-on_rename_folder_cb (gboolean canceled, GError *err, GtkWindow *parent_window,
- TnyAccount *account, gpointer user_data)
+on_rename_folder_cb (ModestMailOperation *mail_op,
+ TnyFolder *new_folder,
+ gpointer user_data)
+{
+ /* Select now */
+ modest_folder_view_select_folder (MODEST_FOLDER_VIEW (user_data),
+ new_folder, FALSE);
+}
+
+static void
+on_rename_folder_performer (gboolean canceled,
+ GError *err,
+ GtkWindow *parent_window,
+ TnyAccount *account,
+ gpointer user_data)
{
ModestMailOperation *mail_op = NULL;
GtkTreeSelection *sel = NULL;
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (folder_view));
gtk_tree_selection_unselect_all (sel);
- /* Select *after* the changes */
- modest_folder_view_select_folder (MODEST_FOLDER_VIEW(folder_view),
- TNY_FOLDER(data->folder), TRUE);
-
/* Actually rename the folder */
modest_mail_operation_rename_folder (mail_op,
- TNY_FOLDER (data->folder),
- (const gchar *) (data->new_name));
-
- /* TODO folder view filter refilter */
- /*
- GtkTreeModel *tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (folder_view));
- if (GTK_IS_TREE_MODEL_FILTER (tree_model))
- gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (tree_model)); */
+ TNY_FOLDER (data->folder),
+ (const gchar *) (data->new_name),
+ on_rename_folder_cb,
+ folder_view);
}
g_object_unref (mail_op);
RenameFolderInfo *rename_folder_data = g_new0 (RenameFolderInfo, 1);
rename_folder_data->folder = folder;
rename_folder_data->new_name = folder_name;
- modest_platform_connect_if_remote_and_perform (GTK_WINDOW(main_window),
- folder, on_rename_folder_cb, rename_folder_data);
+ modest_platform_connect_if_remote_and_perform (GTK_WINDOW(main_window), TRUE,
+ folder, on_rename_folder_performer, rename_folder_data);
}
}
g_object_unref (folder);
info->folder = folder;
info->move_to_trash = move_to_trash;
g_object_ref (G_OBJECT (info->folder));
- TnyAccount *account = tny_folder_get_account(TNY_FOLDER(folder));
- modest_platform_connect_and_perform (GTK_WINDOW (main_window),
- account, on_delete_folder_cb, info);
+ TnyAccount *account = tny_folder_get_account (TNY_FOLDER (folder));
+ modest_platform_connect_if_remote_and_perform (GTK_WINDOW (main_window),
+ TRUE,
+ TNY_FOLDER_STORE (account),
+ on_delete_folder_cb, info);
g_object_unref (account);
}
g_object_unref (G_OBJECT (folder));
static void
-destroy_information_note (ModestMailOperation *mail_op, gpointer user_data)
+destroy_information_note (ModestMailOperation *mail_op,
+ gpointer user_data)
+{
+ /* destroy information note */
+ gtk_widget_destroy (GTK_WIDGET(user_data));
+}
+
+static void
+destroy_folder_information_note (ModestMailOperation *mail_op,
+ TnyFolder *new_folder,
+ gpointer user_data)
{
/* destroy information note */
gtk_widget_destroy (GTK_WIDGET(user_data));
src_folder,
folder_store,
delete,
- destroy_information_note,
+ destroy_folder_information_note,
inf_note);
}
/* Enable window dimming management */
modest_window_enable_dimming (MODEST_WINDOW(window));
- modest_ui_actions_check_window_dimming_rules (MODEST_WINDOW (window));
+ modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
}
}
* updating the display name apparently is expensive */
const gchar* old_name = gtk_window_get_title (window);
+ if (display_name == NULL)
+ display_name = " ";
+
if (old_name && display_name && strcmp (old_name, display_name) == 0)
return; /* don't do anything */
/* This is usually used to change the title of the main window, which
* is the one that holds the folder view. Note that this change can
* happen even when the widget doesn't have the focus. */
- if (display_name)
- gtk_window_set_title (window, display_name);
- else
- gtk_window_set_title (window, " ");
+ gtk_window_set_title (window, display_name);
}
if ((gpointer) local_account != (gpointer) folder_store &&
(gpointer) mmc_account != (gpointer) folder_store) {
+ const char *proto_name = tny_account_get_proto (TNY_ACCOUNT (folder_store));
+ ModestTransportStoreProtocol proto = MODEST_PROTOCOL_STORE_MAILDIR;
+ if (proto_name != NULL) {
+ proto = modest_protocol_info_get_transport_store_protocol (proto_name);
+ }
is_local_account = FALSE;
/* New button should be dimmed on remote
- account root */
- new_sensitive = FALSE;
+ POP account root */
+ new_sensitive = (proto != MODEST_PROTOCOL_STORE_POP);
}
g_object_unref (local_account);
}
return response;
}
-
-
static void
-move_to_cb (ModestMailOperation *mail_op, gpointer user_data)
+move_to_cb (ModestMailOperation *mail_op,
+ gpointer user_data)
{
MoveToHelper *helper = (MoveToHelper *) user_data;
if (MODEST_IS_MSG_VIEW_WINDOW (object)) {
ModestMsgViewWindow *self = MODEST_MSG_VIEW_WINDOW (object);
- if (!modest_msg_view_window_select_next_message (self))
- if (!modest_msg_view_window_select_previous_message (self))
- /* No more messages to view, so close this window */
- modest_ui_actions_on_close_window (NULL, MODEST_WINDOW(self));
+ if (modest_msg_view_window_last_message_selected (self) &&
+ modest_msg_view_window_first_message_selected (self)) {
+ modest_ui_actions_on_close_window (NULL, MODEST_WINDOW (self));
+ } else if (!modest_msg_view_window_select_next_message (self) &&
+ !modest_msg_view_window_select_previous_message (self)) {
+ /* No more messages to view, so close this window */
+ modest_ui_actions_on_close_window (NULL, MODEST_WINDOW(self));
+ }
} else if (MODEST_IS_MAIN_WINDOW (object) && helper->reference != NULL) {
GtkWidget *header_view;
GtkTreePath *path;
g_free (helper);
}
+static void
+folder_move_to_cb (ModestMailOperation *mail_op,
+ TnyFolder *new_folder,
+ gpointer user_data)
+{
+ move_to_cb (mail_op, user_data);
+}
+
+static void
+msgs_move_to_cb (ModestMailOperation *mail_op,
+ gpointer user_data)
+{
+ move_to_cb (mail_op, user_data);
+}
+
void
modest_ui_actions_move_folder_error_handler (ModestMailOperation *mail_op,
gpointer user_data)
*/
static void
xfer_messages_from_move_to_cb (gboolean canceled, GError *err,
- GtkWindow *parent_window,
- TnyAccount *account, gpointer user_data)
+ GtkWindow *parent_window,
+ TnyAccount *account, gpointer user_data)
{
TnyFolderStore *dst_folder = TNY_FOLDER_STORE (user_data);
ModestWindow *win = MODEST_WINDOW (parent_window);
g_object_unref (dst_folder);
return;
}
-
- if (!TNY_IS_FOLDER (dst_folder)) {
- modest_platform_information_banner (GTK_WIDGET (win),
- NULL,
- _CS("ckdg_ib_unable_to_move_to_current_location"));
- return;
- }
dst_account = tny_folder_get_account (TNY_FOLDER (dst_folder));
proto_str = tny_account_get_proto (dst_account);
headers,
TNY_FOLDER (dst_folder),
TRUE,
- move_to_cb,
+ msgs_move_to_cb,
helper);
g_object_unref (G_OBJECT (mail_op));
}
typedef struct {
+ TnyAccount *dst_account;
+ ModestConnectedPerformer callback;
+ gpointer data;
+} DoubleConnectionInfo;
+
+static void
+src_account_connect_performer (gboolean canceled,
+ GError *err,
+ GtkWindow *parent_window,
+ TnyAccount *src_account,
+ gpointer user_data)
+{
+ DoubleConnectionInfo *info = (DoubleConnectionInfo *) user_data;
+
+ if (canceled || err) {
+ /* If there was any error call the user callback */
+ info->callback (canceled, err, parent_window, src_account, info->data);
+ } else {
+ /* Connect the destination account */
+ modest_platform_connect_if_remote_and_perform (parent_window, TRUE,
+ TNY_FOLDER_STORE (info->dst_account),
+ info->callback, info->data);
+ }
+
+ /* Free the info object */
+ g_object_unref (info->dst_account);
+ g_slice_free (DoubleConnectionInfo, info);
+}
+
+typedef struct {
TnyFolder *src_folder;
TnyFolderStore *dst_folder;
gboolean delete_original;
TNY_FOLDER (info->src_folder),
info->dst_folder,
info->delete_original,
- move_to_cb,
+ folder_move_to_cb,
helper);
-
- modest_folder_view_select_folder (MODEST_FOLDER_VIEW(info->folder_view),
- TNY_FOLDER (info->dst_folder), TRUE);
+
+ if (modest_mail_operation_get_status (mail_op) == MODEST_MAIL_OPERATION_STATUS_SUCCESS) {
+ modest_folder_view_select_folder (MODEST_FOLDER_VIEW(info->folder_view),
+ TNY_FOLDER (info->dst_folder), TRUE);
+ }
/* Unref mail operation */
g_object_unref (G_OBJECT (mail_op));
/* Allow only to transfer folders to the local root folder */
if (TNY_IS_ACCOUNT (dst_folder) &&
- !MODEST_IS_TNY_LOCAL_FOLDERS_ACCOUNT (dst_folder)) {
- do_xfer = FALSE;
+ !MODEST_IS_TNY_LOCAL_FOLDERS_ACCOUNT (dst_folder)) {
+ do_xfer = FALSE;
} else if (!TNY_IS_FOLDER (src_folder)) {
g_warning ("%s: src_folder is not a TnyFolder.\n", __FUNCTION__);
do_xfer = FALSE;
info->folder_view = folder_view;
g_object_ref (G_OBJECT (info->src_folder));
g_object_ref (G_OBJECT (info->dst_folder));
- modest_platform_connect_if_remote_and_perform(GTK_WINDOW (win),
+ modest_platform_connect_if_remote_and_perform(GTK_WINDOW (win), TRUE,
TNY_FOLDER_STORE (dst_folder), on_move_folder_cb, info);
}
} else if (gtk_widget_is_focus (GTK_WIDGET(header_view))) {
gboolean do_xfer = TRUE;
+
+ /* Show an error when trying to move msgs to an account */
+ if (!TNY_IS_FOLDER (dst_folder)) {
+ modest_platform_information_banner (GTK_WIDGET (win),
+ NULL,
+ _CS("ckdg_ib_unable_to_move_to_current_location"));
+ goto free;
+ }
+
/* Ask for confirmation if the source folder is remote and we're not connected */
if (!online && modest_tny_folder_store_is_remote(src_folder)) {
TnyList *headers = modest_header_view_get_selected_headers(header_view);
if (!msgs_already_deleted_from_server(headers, src_folder)) {
guint num_headers = tny_list_get_length(headers);
TnyAccount *account = get_account_from_header_list (headers);
- if (!connect_to_get_msg(MODEST_WINDOW (win), num_headers, account))
+ GtkResponseType response;
+
+ response = modest_platform_run_confirmation_dialog (GTK_WINDOW (win),
+ ngettext("mcen_nc_get_msg",
+ "mcen_nc_get_msgs",
+ num_headers));
+ if (response == GTK_RESPONSE_CANCEL)
do_xfer = FALSE;
+
g_object_unref (account);
}
g_object_unref(headers);
}
if (do_xfer) /* Transfer messages */ {
- g_object_ref (dst_folder);
- modest_platform_connect_if_remote_and_perform(GTK_WINDOW (win),
- TNY_FOLDER_STORE (dst_folder), xfer_messages_from_move_to_cb, dst_folder);
+ DoubleConnectionInfo *info = g_slice_new (DoubleConnectionInfo);
+ info->callback = xfer_messages_from_move_to_cb;
+ info->dst_account = tny_folder_get_account (TNY_FOLDER (dst_folder));
+ info->data = g_object_ref (dst_folder);
+
+ modest_platform_connect_if_remote_and_perform(GTK_WINDOW (win), TRUE,
+ TNY_FOLDER_STORE (src_folder),
+ src_account_connect_performer,
+ info);
}
}
+ free:
if (src_folder)
g_object_unref (src_folder);
}
if (do_xfer) {
g_object_ref (dst_folder);
- modest_platform_connect_if_remote_and_perform(GTK_WINDOW (win),
+ modest_platform_connect_if_remote_and_perform(GTK_WINDOW (win), TRUE,
TNY_FOLDER_STORE (dst_folder), xfer_messages_from_move_to_cb, dst_folder);
}
g_object_unref (account);
g_object_unref (iter);
/* Connect and perform the message retrieval */
- modest_platform_connect_and_perform ((GtkWindow *) window,
+ modest_platform_connect_and_perform ((GtkWindow *) window, TRUE,
g_object_ref (account),
retrieve_msg_contents_performer,
g_object_ref (headers));
}
void
-modest_ui_actions_check_window_dimming_rules (ModestWindow *window)
+modest_ui_actions_check_toolbar_dimming_rules (ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_window_check_dimming_rules_group (window, MODEST_DIMMING_RULES_TOOLBAR);
+}
+
+void
+modest_ui_actions_check_menu_dimming_rules (ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_window_check_dimming_rules_group (window, MODEST_DIMMING_RULES_MENU);
+}
+
+void
+modest_ui_actions_on_email_menu_activated (GtkAction *action,
+ ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
+}
+
+void
+modest_ui_actions_on_edit_menu_activated (GtkAction *action,
+ ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
+}
+
+void
+modest_ui_actions_on_view_menu_activated (GtkAction *action,
+ ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
+}
+
+void
+modest_ui_actions_on_format_menu_activated (GtkAction *action,
+ ModestWindow *window)
{
g_return_if_fail (MODEST_IS_WINDOW (window));
- /* Update dimmed */
- modest_window_check_dimming_rules_group (window, "ModestWindowDimmingRules");
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
+}
+
+void
+modest_ui_actions_on_tools_menu_activated (GtkAction *action,
+ ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
+}
+
+void
+modest_ui_actions_on_attachment_menu_activated (GtkAction *action,
+ ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
+}
+
+void
+modest_ui_actions_on_toolbar_csm_menu_activated (GtkAction *action,
+ ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
+}
+
+void
+modest_ui_actions_on_folder_view_csm_menu_activated (GtkAction *action,
+ ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
+}
+
+void
+modest_ui_actions_on_header_view_csm_menu_activated (GtkAction *action,
+ ModestWindow *window)
+{
+ g_return_if_fail (MODEST_IS_WINDOW (window));
+
+ /* Update dimmed */
+ modest_ui_actions_check_menu_dimming_rules (window);
}
void
gchar *message = NULL;
/* Don't show anything if the user cancelled something */
- if (err->code == TNY_TRANSPORT_ACCOUNT_ERROR_SEND_USER_CANCEL)
+ if (err->code == TNY_SYSTEM_ERROR_CANCEL)
return;
/* Get the server name: */
/* Show the appropriate message text for the GError: */
switch (err->code) {
- case TNY_TRANSPORT_ACCOUNT_ERROR_SEND_HOST_LOOKUP_FAILED:
+ case TNY_SERVICE_ERROR_CONNECT:
message = g_strdup_printf (_("emev_ib_ui_smtp_server_invalid"), server_name);
break;
- case TNY_TRANSPORT_ACCOUNT_ERROR_SEND_SERVICE_UNAVAILABLE:
- message = g_strdup_printf (_("emev_ib_ui_smtp_server_invalid"), server_name);
- break;
- case TNY_TRANSPORT_ACCOUNT_ERROR_SEND_AUTHENTICATION_NOT_SUPPORTED:
+ case TNY_SERVICE_ERROR_AUTHENTICATE:
message = g_strdup_printf (_("emev_ni_ui_smtp_authentication_fail_error"), server_name);
break;
- case TNY_TRANSPORT_ACCOUNT_ERROR_SEND:
+ case TNY_SERVICE_ERROR_SEND:
message = g_strdup (_("emev_ib_ui_smtp_send_error"));
break;
default:
- g_warning ("%s: unexpected TNY_TRANSPORT_ACCOUNT_ERROR %d",
+ g_warning ("%s: unexpected ERROR %d",
__FUNCTION__, err->code);
message = g_strdup (_("emev_ib_ui_smtp_send_error"));
break;
#else
gtk_widget_queue_draw (header_view);
#endif
+
+ /* Rerun dimming rules, because the message could become deletable for example */
+ modest_window_check_dimming_rules_group (MODEST_WINDOW (main_window),
+ MODEST_DIMMING_RULES_TOOLBAR);
/* Free */
frees: