aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2005-07-21 12:15:21 +0800
committerMichael Zucci <zucchi@src.gnome.org>2005-07-21 12:15:21 +0800
commit1b8003c1768fa6a0d33a91f0637fc99fe0801ae8 (patch)
tree68e39aba1aa97e5537332c83eace7ce682e5defa /mail/mail-ops.c
parenta86713990d993da394f11a4c22a34d1d7876267a (diff)
downloadgsoc2013-evolution-1b8003c1768fa6a0d33a91f0637fc99fe0801ae8.tar.gz
gsoc2013-evolution-1b8003c1768fa6a0d33a91f0637fc99fe0801ae8.tar.zst
gsoc2013-evolution-1b8003c1768fa6a0d33a91f0637fc99fe0801ae8.zip
if we get a null default, then set "" on the entry. (emae_option_entry):
2005-07-21 Not Zed <NotZed@Ximian.com> * em-account-editor.c (emae_option_entry): if we get a null default, then set "" on the entry. (emae_option_entry): set the default value on the url if it doesn't exist already. 2005-07-20 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (refresh_folders_desc, refresh_folders_get) (refresh_folders_got, refresh_folders_free, get_folders) (receive_update_got_folderinfo, receive_update_got_store): refresh all the folders manually and directly. * mail-folder-cache.c (setup_folder): propagate even -1 unread counts, they get ignored later. * em-composer-utils.c (emu_handle_receipt_message) (em_utils_handle_receipt): use getmessagex too, so we can always clear any error. * em-folder-view.c (emfv_message_selected_timeout) (emfv_list_done_message_selected): use getmessagex and do something meaninful with the error. * mail-ops.c (mail_get_messagex): added new get message which returns an exception. 2005-07-19 Not Zed <NotZed@Ximian.com> * mail-tools.c (mail_tool_uri_to_folder): dont get the service connected, it will connect if it needs to. * mail-ops.c (get_folderinfo_get): * em-folder-utils.c (emft_copy_folders__copy) (emfu_delete_folders): * em-folder-tree.c (emft_get_folder_info__get): Always request subscribed folders, if the backend doesn't implement it it will ignore it. 2005-07-13 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (mail_autoreceive_init, auto_online): listen to session online events, and if we are online, trigger an auto-receive of all auto-check accounts. 2005-07-11 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (auto_account_commit): force an update immediately if we're setting up the timeout to start with. * em-folder-tree-model.c (em_folder_tree_model_set_unread_count): noop if the unread count < 0. (em_folder_tree_model_set_folder_info): only set the unread count if we actually have one. * em-folder-tree.c (emft_tree_row_expanded): get the folder list 'fast'. * mail-ops.c (get_folderinfo_get): get the folder list 'fast'. svn path=/trunk/; revision=29822
Diffstat (limited to 'mail/mail-ops.c')
-rw-r--r--mail/mail-ops.c43
1 files changed, 39 insertions, 4 deletions
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index e7770fc017..846c251c41 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -1061,10 +1061,7 @@ static void
get_folderinfo_get (struct _mail_msg *mm)
{
struct _get_folderinfo_msg *m = (struct _get_folderinfo_msg *)mm;
- guint32 flags = CAMEL_STORE_FOLDER_INFO_RECURSIVE;
-
- if (camel_store_supports_subscriptions (m->store))
- flags |= CAMEL_STORE_FOLDER_INFO_SUBSCRIBED;
+ guint32 flags = CAMEL_STORE_FOLDER_INFO_RECURSIVE|CAMEL_STORE_FOLDER_INFO_FAST | CAMEL_STORE_FOLDER_INFO_SUBSCRIBED;
m->info = camel_store_get_folder_info (m->store, NULL, flags, &mm->ex);
}
@@ -1796,6 +1793,44 @@ mail_get_message(CamelFolder *folder, const char *uid, void (*done) (CamelFolder
e_thread_put(thread, (EMsg *)m);
}
+typedef void (*get_done)(CamelFolder *folder, const char *uid, CamelMimeMessage *msg, void *data, CamelException *);
+
+static void get_messagex_got(struct _mail_msg *mm)
+{
+ struct _get_message_msg *m = (struct _get_message_msg *)mm;
+
+ if (m->done) {
+ get_done done = (get_done)m->done;
+ done(m->folder, m->uid, m->message, m->data, &mm->ex);
+ }
+}
+
+static struct _mail_msg_op get_messagex_op = {
+ get_message_desc,
+ get_message_get,
+ get_messagex_got,
+ get_message_free,
+};
+
+/* This is temporary, to avoid having to rewrite everything that uses
+ mail_get_message; it adds an exception argument to the callback */
+void
+mail_get_messagex(CamelFolder *folder, const char *uid, void (*done) (CamelFolder *folder, const char *uid, CamelMimeMessage *msg, void *data, CamelException *),
+ void *data, EThread *thread)
+{
+ struct _get_message_msg *m;
+
+ m = mail_msg_new(&get_messagex_op, NULL, sizeof(*m));
+ m->folder = folder;
+ camel_object_ref(folder);
+ m->uid = g_strdup(uid);
+ m->data = data;
+ m->done = done;
+ m->cancel = camel_operation_new(NULL, NULL);
+
+ e_thread_put(thread, (EMsg *)m);
+}
+
/* ********************************************************************** */
struct _get_messages_msg {