X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-ui-actions.c;h=86dbe0f98fcf6a8953e2cb1af333d17ad91aa943;hb=daf98b6886a25e2208e78048989beccbbf60ef6e;hp=1f42f68a2596b5410dc24d02d4e1596a38f2b9f3;hpb=af17de7a3953d30c97a8a3e547ef00ca4704dbf3;p=modest diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 1f42f68..86dbe0f 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -48,6 +48,9 @@ #include #include #include +#ifdef MODEST_TOOLKIT_HILDON2 +#include +#endif #ifdef MODEST_PLATFORM_MAEMO #include "maemo/modest-osso-state-saving.h" @@ -200,11 +203,11 @@ remote_folder_has_leave_on_server (TnyFolderStore *folder) gboolean modest_ui_actions_run_account_setup_wizard (ModestWindow *win) { - gboolean result = FALSE; + gboolean result = FALSE; GtkWindow *wizard; gint dialog_response; - /* there is no such wizard yet */ + /* there is no such wizard yet */ wizard = GTK_WINDOW (modest_platform_get_account_settings_wizard ()); modest_window_mgr_set_modal (modest_runtime_get_window_mgr(), GTK_WINDOW (wizard), (GtkWindow *) win); @@ -214,7 +217,7 @@ modest_ui_actions_run_account_setup_wizard (ModestWindow *win) if (!win) win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr(), TRUE); /* create if not existent */ - + gtk_window_set_transient_for (GTK_WINDOW (wizard), GTK_WINDOW (win)); /* make sure the mainwindow is visible. We need to present the @@ -228,7 +231,7 @@ modest_ui_actions_run_account_setup_wizard (ModestWindow *win) gtk_window_present (GTK_WINDOW (win)); gtk_window_present (GTK_WINDOW (wizard)); #endif - + dialog_response = gtk_dialog_run (GTK_DIALOG (wizard)); gtk_widget_destroy (GTK_WIDGET (wizard)); if (gtk_events_pending ()) @@ -630,6 +633,14 @@ modest_ui_actions_on_close_window (GtkAction *action, ModestWindow *win) } void +modest_ui_actions_add_to_contacts (GtkAction *action, ModestWindow *win) +{ + g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (win)); + + modest_msg_view_window_add_to_contacts (MODEST_MSG_VIEW_WINDOW (win)); +} + +void modest_ui_actions_on_add_to_contacts (GtkAction *action, ModestWindow *win) { GtkClipboard *clipboard = NULL; @@ -711,10 +722,8 @@ modest_ui_actions_compose_msg(ModestWindow *win, ModestTnyAccountStore *store = modest_runtime_get_account_store(); GnomeVFSFileSize total_size, allowed_size; - /* we check for low-mem; in that case, show a warning, and don't allow - * composing a message with attachments - */ - if (attachments && modest_platform_check_memory_low (win, TRUE)) + /* we check for low-mem */ + if (modest_platform_check_memory_low (win, TRUE)) goto cleanup; #ifdef MODEST_TOOLKIT_HILDON2 @@ -901,7 +910,7 @@ open_msg_cb (ModestMailOperation *mail_op, TnyFolder *folder; gboolean open_in_editor = FALSE; OpenMsgHelper *helper = (OpenMsgHelper *) user_data; - + /* Do nothing if there was any problem with the mail operation. The error will be shown by the error_handler of the mail operation */ @@ -921,7 +930,7 @@ open_msg_cb (ModestMailOperation *mail_op, g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__); } - + if (folder_type == TNY_FOLDER_TYPE_OUTBOX) { TnyTransportAccount *traccount = NULL; ModestTnyAccountStore *accstore = modest_runtime_get_account_store(); @@ -929,18 +938,29 @@ open_msg_cb (ModestMailOperation *mail_op, if (traccount) { ModestTnySendQueue *send_queue = NULL; ModestTnySendQueueStatus status; - char *msg_id; + gchar *msg_id; account = g_strdup(modest_tny_account_get_parent_modest_account_name_for_server_account( TNY_ACCOUNT(traccount))); send_queue = modest_runtime_get_send_queue(traccount, TRUE); if (TNY_IS_SEND_QUEUE (send_queue)) { msg_id = modest_tny_send_queue_get_msg_id (header); status = modest_tny_send_queue_get_msg_status(send_queue, msg_id); + g_free(msg_id); + /* Only open messages in outbox with the editor if they are in Failed state */ if (status == MODEST_TNY_SEND_QUEUE_FAILED) { open_in_editor = TRUE; + } +#ifdef MODEST_TOOLKIT_HILDON2 + else { + /* In Fremantle we can not + open any message from + outbox which is not in + failed state */ + g_object_unref(traccount); + goto cleanup; } - g_free(msg_id); +#endif } g_object_unref(traccount); } else { @@ -955,7 +975,7 @@ open_msg_cb (ModestMailOperation *mail_op, account = g_strdup (modest_window_get_active_account (MODEST_WINDOW (parent_win))); if (!account) account = modest_account_mgr_get_default_account (modest_runtime_get_account_mgr()); - + if (open_in_editor) { ModestAccountMgr *mgr = modest_runtime_get_account_mgr (); gchar *from_header = NULL, *acc_name; @@ -982,12 +1002,12 @@ open_msg_cb (ModestMailOperation *mail_op, win = modest_msg_edit_window_new (msg, account, TRUE); } else { gchar *uid = modest_tny_folder_get_header_unique_id (header); - + if (MODEST_IS_MAIN_WINDOW (parent_win)) { GtkTreeRowReference *row_reference; row_reference = (GtkTreeRowReference *) g_hash_table_lookup (helper->row_refs_per_header, header); - + win = modest_msg_view_window_new_with_header_model (msg, account, (const gchar*) uid, helper->model, row_reference); } else { @@ -995,7 +1015,7 @@ open_msg_cb (ModestMailOperation *mail_op, } g_free (uid); } - + /* Register and show new window */ if (win != NULL) { mgr = modest_runtime_get_window_mgr (); @@ -1220,7 +1240,7 @@ open_msgs_performer(gboolean canceled, if (proto == MODEST_PROTOCOL_REGISTRY_TYPE_INVALID) { proto = MODEST_PROTOCOLS_STORE_MAILDIR; } - + /* Create the error messages */ if (tny_list_get_length (not_opened_headers) == 1) { ModestProtocol *protocol; @@ -1240,7 +1260,7 @@ open_msgs_performer(gboolean canceled, g_free (subject); g_object_unref (header); g_object_unref (iter); - + if (error_msg == NULL) { error_msg = g_strdup (_("mail_ni_ui_folder_get_msg_folder_error")); } @@ -1276,7 +1296,11 @@ open_msgs_performer(gboolean canceled, if (show_open_draft) { helper->banner_info = g_slice_new (OpenMsgBannerInfo); +#ifdef MODEST_TOOLKIT_HILDON2 + helper->banner_info->message = g_strdup (_("mail_me_opening")); +#else helper->banner_info->message = g_strdup (_("mail_ib_opening_draft_message")); +#endif helper->banner_info->banner = NULL; helper->banner_info->idle_handler = g_timeout_add (500, open_msg_banner_idle, helper->banner_info); @@ -1315,7 +1339,7 @@ open_msgs_from_headers (TnyList *headers, ModestWindow *win) OpenMsgHelper *helper; GtkTreeSelection *sel; GList *sel_list = NULL, *sel_list_iter = NULL; - + g_return_if_fail (headers != NULL); /* Check that only one message is selected for opening */ @@ -1355,14 +1379,14 @@ open_msgs_from_headers (TnyList *headers, ModestWindow *win) ModestWindow *window = NULL; TnyHeader *header = NULL; gboolean found = FALSE; - + header = TNY_HEADER (tny_iterator_get_current (iter)); if (header) flags = tny_header_get_flags (header); window = NULL; found = modest_window_mgr_find_registered_header (mgr, header, &window); - + /* Do not open again the message and present the window to the user */ if (found) { @@ -2312,7 +2336,6 @@ modest_ui_actions_on_header_activated (ModestHeaderView *header_view, ModestMainWindow *main_window) { TnyList *headers; - GtkWidget *open_widget; g_return_if_fail (MODEST_IS_MAIN_WINDOW(main_window)); @@ -2331,9 +2354,6 @@ modest_ui_actions_on_header_activated (ModestHeaderView *header_view, return; modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (main_window)); - open_widget = modest_window_get_action_widget (MODEST_WINDOW (main_window), "/MenuBar/EmailMenu/EmailOpenMenu"); - if (!GTK_WIDGET_IS_SENSITIVE (open_widget)) - return; headers = modest_header_view_get_selected_headers (header_view); @@ -3387,7 +3407,7 @@ modest_ui_actions_on_rename_folder (GtkAction *action, return; if (TNY_IS_FOLDER (folder)) { - gchar *folder_name; + gchar *folder_name = NULL; gint response; const gchar *current_name; TnyFolderStore *parent; @@ -3565,61 +3585,71 @@ password_dialog_check_field (GtkEditable *editable, } void -modest_ui_actions_on_password_requested (TnyAccountStore *account_store, +modest_ui_actions_on_password_requested (TnyAccountStore *account_store, const gchar* server_account_name, gchar **username, - gchar **password, - gboolean *cancel, + gchar **password, + gboolean *cancel, gboolean *remember, ModestMainWindow *main_window) { g_return_if_fail(server_account_name); gboolean completed = FALSE; PasswordDialogFields *fields = NULL; - + /* Initalize output parameters: */ if (cancel) *cancel = FALSE; - + if (remember) *remember = TRUE; - + #ifndef MODEST_TOOLKIT_GTK /* Maemo uses a different (awkward) button order, * It should probably just use gtk_alternative_dialog_button_order (). */ - GtkWidget *dialog = gtk_dialog_new_with_buttons (_("mail_ti_password_protected"), - NULL, - GTK_DIALOG_MODAL, - _("mcen_bd_dialog_ok"), - GTK_RESPONSE_ACCEPT, - _("mcen_bd_dialog_cancel"), - GTK_RESPONSE_REJECT, - NULL); +#ifdef MODEST_TOOLKIT_HILDON2 + GtkWidget *dialog = + gtk_dialog_new_with_buttons (_("mail_ti_password_protected"), + NULL, + GTK_DIALOG_MODAL, + _HL("wdgt_bd_done"), + GTK_RESPONSE_ACCEPT, + NULL); #else - GtkWidget *dialog = gtk_dialog_new_with_buttons (_("mail_ti_password_protected"), - NULL, - GTK_DIALOG_MODAL, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - NULL); -#endif /* !MODEST_TOOLKIT_GTK */ + GtkWidget *dialog = + gtk_dialog_new_with_buttons (_("mail_ti_password_protected"), + NULL, + _("mcen_bd_dialog_ok"), + GTK_RESPONSE_ACCEPT, + _("mcen_bd_dialog_cancel"), + GTK_RESPONSE_REJECT, + NULL); +#endif /* MODEST_TOOLKIT_HILDON2 */ +#else + GtkWidget *dialog = + gtk_dialog_new_with_buttons (_("mail_ti_password_protected"), + NULL, + GTK_DIALOG_MODAL, + GTK_STOCK_CANCEL, + GTK_RESPONSE_REJECT, + GTK_STOCK_OK, + GTK_RESPONSE_ACCEPT, + NULL); +#endif /* MODEST_TOOLKIT_GTK */ modest_window_mgr_set_modal (modest_runtime_get_window_mgr(), GTK_WINDOW (dialog), NULL); - + gchar *server_name = modest_account_mgr_get_server_account_hostname ( modest_runtime_get_account_mgr(), server_account_name); if (!server_name) {/* This happened once, though I don't know why. murrayc. */ g_warning("%s: Could not get server name for server account '%s'", __FUNCTION__, server_account_name); if (cancel) *cancel = TRUE; + gtk_widget_destroy (dialog); return; } - - /* This causes a warning because the logical ID has no %s in it, - * though the translation does, but there is not much we can do about that: */ + gchar *txt = g_strdup_printf (_("mail_ia_password_info"), server_name); gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), gtk_label_new(txt), FALSE, FALSE, 0); @@ -3630,7 +3660,7 @@ modest_ui_actions_on_password_requested (TnyAccountStore *account_store, /* username: */ gchar *initial_username = modest_account_mgr_get_server_account_username ( modest_runtime_get_account_mgr(), server_account_name); - + GtkWidget *entry_username = gtk_entry_new (); if (initial_username) gtk_entry_set_text (GTK_ENTRY (entry_username), initial_username); @@ -3649,48 +3679,48 @@ modest_ui_actions_on_password_requested (TnyAccountStore *account_store, #ifndef MODEST_TOOLKIT_GTK /* Auto-capitalization is the default, so let's turn it off: */ hildon_gtk_entry_set_input_mode (GTK_ENTRY (entry_username), HILDON_GTK_INPUT_MODE_FULL); - + /* Create a size group to be used by all captions. * Note that HildonCaption does not create a default size group if we do not specify one. * We use GTK_SIZE_GROUP_HORIZONTAL, so that the widths are the same. */ GtkSizeGroup *sizegroup = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); - + GtkWidget *caption = hildon_caption_new (sizegroup, _("mail_fi_username"), entry_username, NULL, HILDON_CAPTION_MANDATORY); gtk_widget_show (entry_username); gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), caption, FALSE, FALSE, MODEST_MARGIN_HALF); gtk_widget_show (caption); -#else +#else gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), entry_username, TRUE, FALSE, 0); -#endif /* !MODEST_TOOLKIT_GTK */ - +#endif /* !MODEST_TOOLKIT_GTK */ + /* password: */ GtkWidget *entry_password = gtk_entry_new (); gtk_entry_set_visibility (GTK_ENTRY(entry_password), FALSE); /* gtk_entry_set_invisible_char (GTK_ENTRY(entry_password), "*"); */ - + #ifndef MODEST_TOOLKIT_GTK /* Auto-capitalization is the default, so let's turn it off: */ - hildon_gtk_entry_set_input_mode (GTK_ENTRY (entry_password), + hildon_gtk_entry_set_input_mode (GTK_ENTRY (entry_password), HILDON_GTK_INPUT_MODE_FULL | HILDON_GTK_INPUT_MODE_INVISIBLE); - - caption = hildon_caption_new (sizegroup, + + caption = hildon_caption_new (sizegroup, _("mail_fi_password"), entry_password, NULL, HILDON_CAPTION_MANDATORY); gtk_widget_show (entry_password); - gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), caption, + gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), caption, FALSE, FALSE, MODEST_MARGIN_HALF); gtk_widget_show (caption); g_object_unref (sizegroup); -#else +#else gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), entry_password, TRUE, FALSE, 0); -#endif /* !MODEST_TOOLKIT_GTK */ +#endif /* !MODEST_TOOLKIT_GTK */ if (initial_username != NULL) gtk_widget_grab_focus (GTK_WIDGET (entry_password)); - + /* This is not in the Maemo UI spec: remember_pass_check = gtk_check_button_new_with_label (_("Remember password")); gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), remember_pass_check, @@ -3709,18 +3739,18 @@ modest_ui_actions_on_password_requested (TnyAccountStore *account_store, gtk_widget_show_all (GTK_WIDGET(GTK_DIALOG(dialog)->vbox)); while (!completed) { - + if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { if (username) { *username = g_strdup (gtk_entry_get_text (GTK_ENTRY(entry_username))); - + /* Note that an empty field becomes the "" string */ if (*username && strlen (*username) > 0) { modest_account_mgr_set_server_account_username (modest_runtime_get_account_mgr(), server_account_name, *username); completed = TRUE; - + const gboolean username_was_changed = (strcmp (*username, initial_username) != 0); if (username_was_changed) { @@ -3728,16 +3758,18 @@ modest_ui_actions_on_password_requested (TnyAccountStore *account_store, "username in the get_password() callback.\n", __FUNCTION__); } } else { + g_free (*username); + *username = NULL; /* Show error */ modest_platform_information_banner (GTK_WIDGET (dialog), NULL, _("mcen_ib_username_pw_incorrect")); completed = FALSE; } } - + if (password) { *password = g_strdup (gtk_entry_get_text (GTK_ENTRY(entry_password))); - + /* We do not save the password in the configuration, * because this function is only called for passwords that should * not be remembered: @@ -3745,17 +3777,19 @@ modest_ui_actions_on_password_requested (TnyAccountStore *account_store, modest_runtime_get_account_mgr(), server_account_name, *password); */ - } + } if (cancel) - *cancel = FALSE; + *cancel = FALSE; } else { +#ifndef MODEST_TOOLKIT_HILDON2 /* Set parent to NULL or the banner will disappear with its parent dialog */ modest_platform_information_banner(NULL, NULL, _("mail_ib_login_cancelled")); +#endif completed = TRUE; if (username) - *username = NULL; + *username = NULL; if (password) - *password = NULL; + *password = NULL; if (cancel) *cancel = TRUE; } @@ -3768,6 +3802,7 @@ modest_ui_actions_on_password_requested (TnyAccountStore *account_store, *remember = FALSE; */ + g_free (initial_username); gtk_widget_destroy (dialog); g_slice_free (PasswordDialogFields, fields); @@ -4002,8 +4037,8 @@ modest_ui_actions_on_paste (GtkAction *action, gtk_text_buffer_paste_clipboard (buffer, clipboard, NULL, TRUE); } else if (MODEST_IS_MSG_EDIT_WINDOW (window)) { ModestMailOperation *mail_op; - TnyFolder *src_folder; - TnyList *data; + TnyFolder *src_folder = NULL; + TnyList *data = NULL; gboolean delete; PasteAsAttachmentHelper *helper = g_new0 (PasteAsAttachmentHelper, 1); helper->window = MODEST_MSG_EDIT_WINDOW (window); @@ -4023,6 +4058,12 @@ modest_ui_actions_on_paste (GtkAction *action, helper, paste_as_attachment_free); } + /* Free */ + if (data) + g_object_unref (data); + if (src_folder) + g_object_unref (src_folder); + } } else if (MODEST_IS_FOLDER_VIEW (focused_widget)) { ModestEmailClipboard *clipboard = NULL; @@ -4388,7 +4429,7 @@ modest_ui_actions_on_toggle_toolbar (GtkToggleAction *toggle, active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (toggle)); - /* Check if we want to toggle the toolbar vuew in fullscreen + /* Check if we want to toggle the toolbar view in fullscreen or normal mode */ if (!strcmp (gtk_action_get_name (GTK_ACTION (toggle)), "ViewShowToolbarFullScreen")) { @@ -4617,7 +4658,12 @@ create_move_to_dialog (GtkWindow *win, GtkWidget *folder_view, GtkWidget **tree_view) { - GtkWidget *dialog, *scroll; + GtkWidget *dialog; +#ifdef MODEST_TOOLKIT_HILDON2 + GtkWidget *pannable; +#else + GtkWidget *scroll; +#endif GtkWidget *new_button, *ok_button; dialog = gtk_dialog_new_with_buttons (_("mcen_ti_moveto_folders_title"), @@ -4650,10 +4696,14 @@ create_move_to_dialog (GtkWindow *win, g_object_set_data (G_OBJECT (dialog), MOVE_FOLDER_NEW_BUTTON, new_button); /* Create scrolled window */ +#ifdef MODEST_TOOLKIT_HILDON2 + pannable = hildon_pannable_area_new (); +#else scroll = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); +#endif #ifdef MODEST_TOOLKIT_GTK gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN); @@ -4731,11 +4781,17 @@ create_move_to_dialog (GtkWindow *win, /* Hide special folders */ modest_folder_view_show_non_move_folders (MODEST_FOLDER_VIEW (*tree_view), FALSE); +#ifdef MODEST_TOOLKIT_HILDON2 + gtk_container_add (GTK_CONTAINER (pannable), *tree_view); + gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), + pannable, TRUE, TRUE, 0); +#else gtk_container_add (GTK_CONTAINER (scroll), *tree_view); - /* Add scroll to dialog */ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scroll, TRUE, TRUE, 0); +#endif + gtk_widget_show_all (GTK_WIDGET(GTK_DIALOG(dialog)->vbox)); #ifndef MODEST_TOOLKIT_GTK @@ -4980,7 +5036,7 @@ open_msg_for_purge_cb (ModestMailOperation *mail_op, if (response == GTK_RESPONSE_OK) { GtkWidget *info; info = - modest_platform_animation_banner (GTK_WIDGET (win), NULL, _("mcen_ib_removing_attachment")); + modest_platform_animation_banner (GTK_WIDGET (win), NULL, _("mcen_me_inbox_remove_attachments")); iter = tny_list_create_iterator (parts); while (!tny_iterator_is_done (iter)) { TnyMimePart *part; @@ -5645,6 +5701,8 @@ void modest_ui_actions_on_help (GtkAction *action, GtkWindow *win) { + /* Help app is not available at all in fremantle */ +#ifndef MODEST_TOOLKIT_HILDON2 const gchar *help_id; g_return_if_fail (win && GTK_IS_WINDOW(win)); @@ -5653,12 +5711,16 @@ modest_ui_actions_on_help (GtkAction *action, if (help_id) modest_platform_show_help (GTK_WINDOW (win), help_id); +#endif } void modest_ui_actions_on_csm_help (GtkAction *action, GtkWindow *win) { + /* Help app is not available at all in fremantle */ +#ifndef MODEST_TOOLKIT_HILDON2 + const gchar* help_id = NULL; GtkWidget *folder_view; TnyFolderStore *folder_store; @@ -5681,6 +5743,7 @@ modest_ui_actions_on_csm_help (GtkAction *action, modest_platform_show_help (GTK_WINDOW (win), help_id); else modest_ui_actions_on_help (action, win); +#endif } static void @@ -6144,3 +6207,49 @@ modest_ui_actions_get_msg_already_deleted_error_msg (ModestWindow *win) return msg; } + +gboolean +modest_ui_actions_on_delete_account (GtkWindow *parent_window, + const gchar *account_name, + const gchar *account_title) +{ + ModestAccountMgr *account_mgr; + gchar *txt = NULL; + gint response; + ModestProtocol *protocol; + gboolean removed = FALSE; + + g_return_val_if_fail (account_name, FALSE); + g_return_val_if_fail (account_title, FALSE); + + account_mgr = modest_runtime_get_account_mgr(); + + /* The warning text depends on the account type: */ + protocol = modest_protocol_registry_get_protocol_by_type (modest_runtime_get_protocol_registry (), + modest_account_mgr_get_store_protocol (account_mgr, + account_name)); + txt = modest_protocol_get_translation (protocol, + MODEST_PROTOCOL_TRANSLATION_DELETE_MAILBOX, + account_title); + if (txt == NULL) + txt = g_strdup_printf (_("emev_nc_delete_mailbox"), account_title); + + response = modest_platform_run_confirmation_dialog (parent_window, txt); + g_free (txt); + txt = NULL; + + if (response == GTK_RESPONSE_OK) { + /* Remove account. If it succeeds then it also removes + the account from the ModestAccountView: */ + gboolean is_default = FALSE; + gchar *default_account_name = modest_account_mgr_get_default_account (account_mgr); + if (default_account_name && (strcmp (default_account_name, account_name) == 0)) + is_default = TRUE; + g_free (default_account_name); + + removed = modest_account_mgr_remove_account (account_mgr, account_name); + if (!removed) + g_warning ("%s: modest_account_mgr_remove_account() failed.\n", __FUNCTION__); + } + return removed; +}