diff options
author | Not Zed <NotZed@Ximian.com> | 2005-07-21 12:15:21 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2005-07-21 12:15:21 +0800 |
commit | 1b8003c1768fa6a0d33a91f0637fc99fe0801ae8 (patch) | |
tree | 68e39aba1aa97e5537332c83eace7ce682e5defa /mail/mail-ops.c | |
parent | a86713990d993da394f11a4c22a34d1d7876267a (diff) | |
download | gsoc2013-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.c | 43 |
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 { |