aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2001-02-23 06:27:40 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-02-23 06:27:40 +0800
commit351903ad90942abecccf363f97a6639c74ef2e58 (patch)
tree9ab0be988df48a43aac83f2a789a9918e24d2517 /mail/mail-ops.c
parent7698a3941bb5ad9faf3b5b4831e0400f81cc9b64 (diff)
downloadgsoc2013-evolution-351903ad90942abecccf363f97a6639c74ef2e58.tar
gsoc2013-evolution-351903ad90942abecccf363f97a6639c74ef2e58.tar.gz
gsoc2013-evolution-351903ad90942abecccf363f97a6639c74ef2e58.tar.bz2
gsoc2013-evolution-351903ad90942abecccf363f97a6639c74ef2e58.tar.lz
gsoc2013-evolution-351903ad90942abecccf363f97a6639c74ef2e58.tar.xz
gsoc2013-evolution-351903ad90942abecccf363f97a6639c74ef2e58.tar.zst
gsoc2013-evolution-351903ad90942abecccf363f97a6639c74ef2e58.zip
Make op cancellable/report internals. (get_folder_get):
2001-02-23 Not Zed <NotZed@Ximian.com> * mail-ops.c (create_folder_get): Make op cancellable/report internals. (get_folder_get): (sync_folder_sync): (get_folderinfo_get): Make op cancellable/report internals. * mail-vtrash.c (get_trash_get): Setup the operation registration, and create a pseudo "start/stop" operation. * component-factory.c (owner_set_cb): Make trash creation async. * mail-local.c (register_folder_desc): A description of what we're doing. * mail-mt.c (mail_msg_new): Set status callback to operation_new. (mail_operation_status): Operation status function, proxy messages to main thread, and attempt to present a meaningful ui experience for operations. svn path=/trunk/; revision=8351
Diffstat (limited to 'mail/mail-ops.c')
-rw-r--r--mail/mail-ops.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index f512c11e14..d0d8c930dc 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -928,7 +928,9 @@ static void get_folderinfo_get(struct _mail_msg *mm)
{
struct _get_folderinfo_msg *m = (struct _get_folderinfo_msg *)mm;
+ camel_operation_register(mm->cancel);
m->info = camel_store_get_folder_info(m->store, NULL, FALSE, TRUE, TRUE, &mm->ex);
+ camel_operation_unregister(mm->cancel);
}
static void get_folderinfo_got(struct _mail_msg *mm)
@@ -1079,7 +1081,9 @@ static void get_folder_get(struct _mail_msg *mm)
{
struct _get_folder_msg *m = (struct _get_folder_msg *)mm;
+ camel_operation_register(mm->cancel);
m->folder = mail_tool_uri_to_folder(m->uri, &mm->ex);
+ camel_operation_unregister(mm->cancel);
}
static void get_folder_got(struct _mail_msg *mm)
@@ -1144,7 +1148,9 @@ static void get_store_get(struct _mail_msg *mm)
{
struct _get_store_msg *m = (struct _get_store_msg *)mm;
+ camel_operation_register(mm->cancel);
m->store = camel_session_get_store(session, m->uri, &mm->ex);
+ camel_operation_unregister(mm->cancel);
}
static void get_store_got(struct _mail_msg *mm)
@@ -1214,9 +1220,11 @@ static void create_folder_get(struct _mail_msg *mm)
struct _create_folder_msg *m = (struct _create_folder_msg *)mm;
/* FIXME: supply a way to make indexes optional */
+ camel_operation_register(mm->cancel);
m->folder = mail_tool_get_folder_from_urlname(m->uri, "mbox",
CAMEL_STORE_FOLDER_CREATE|CAMEL_STORE_FOLDER_BODY_INDEX,
&mm->ex);
+ camel_operation_unregister(mm->cancel);
}
static void create_folder_got(struct _mail_msg *mm)
@@ -1275,7 +1283,9 @@ static void sync_folder_sync(struct _mail_msg *mm)
{
struct _sync_folder_msg *m = (struct _sync_folder_msg *)mm;
+ camel_operation_register(mm->cancel);
camel_folder_sync(m->folder, FALSE, &mm->ex);
+ camel_operation_unregister(mm->cancel);
}
static void sync_folder_synced(struct _mail_msg *mm)