From: Sergio Villar Senin Date: Tue, 4 Dec 2007 16:49:51 +0000 (+0000) Subject: * Partially fixes NB#78203, expunge messages in POP if leave message from server... X-Git-Tag: git_migration_finished~1973 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=b5fde4886b7e176e57709be08cc61d9b2a72607a * Partially fixes NB#78203, expunge messages in POP if leave message from server is unchecked pmo-trunk-r3864 --- diff --git a/src/modest-mail-operation.c b/src/modest-mail-operation.c index 45a5455..a833147 100644 --- a/src/modest-mail-operation.c +++ b/src/modest-mail-operation.c @@ -2301,16 +2301,32 @@ modest_mail_operation_remove_msg (ModestMailOperation *self, /* remove message from folder */ tny_folder_remove_msg (folder, header, &(priv->error)); if (!priv->error) { + gboolean expunge, leave_on_server; + const gchar *account_name; + TnyAccount *account; + tny_header_set_flag (header, TNY_HEADER_FLAG_DELETED); tny_header_set_flag (header, TNY_HEADER_FLAG_SEEN); modest_mail_operation_notify_start (self); - if (TNY_IS_CAMEL_IMAP_FOLDER (folder) || - TNY_IS_CAMEL_POP_FOLDER (folder)) - tny_folder_sync_async(folder, FALSE, NULL, NULL, NULL); /* FALSE --> dont expunge */ + /* Get leave on server setting */ + account = tny_folder_get_account (folder); + account_name = modest_tny_account_get_parent_modest_account_name_for_server_account (account); + leave_on_server = + modest_account_mgr_get_leave_on_server (modest_runtime_get_account_mgr (), + account_name); + + if (TNY_IS_CAMEL_POP_FOLDER (folder) && !leave_on_server) + expunge = TRUE; else - tny_folder_sync_async(folder, TRUE, NULL, NULL, NULL); /* TRUE --> expunge */ + expunge = FALSE; + + /* Sync folder */ + tny_folder_sync_async(folder, expunge, NULL, NULL, NULL); + + /* Unref */ + g_object_unref (account); }