diff options
-rw-r--r-- | mail/ChangeLog | 5 | ||||
-rw-r--r-- | mail/em-folder-tree.c | 28 |
2 files changed, 32 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index a46a285cf7..148f75eef7 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,8 @@ +2004-03-16 Jeffrey Stedfast <fejj@ximian.com> + + * em-folder-tree.c (emft_drop_async_desc): New function to return + a description of the async drop operation. Fixes bug #54808. + 2004-03-15 Jeffrey Stedfast <fejj@ximian.com> * em-utils.c (reply_to_message): If the mail_get_message() async diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c index c992cc9eb5..cb9de25d7e 100644 --- a/mail/em-folder-tree.c +++ b/mail/em-folder-tree.c @@ -841,6 +841,32 @@ emft_drop_text_uri_list(struct _DragDataReceivedAsync *m, CamelFolder *dest) } } +static char * +emft_drop_async_desc (struct _mail_msg *mm, int done) +{ + struct _DragDataReceivedAsync *m = (struct _DragDataReceivedAsync *) mm; + CamelURL *url; + char *buf; + + if (m->info == DND_DROP_TYPE_FOLDER) { + url = camel_url_new (m->selection.folder, NULL); + + if (m->move) + buf = g_strdup_printf (_("Moving folder %s"), url->fragment ? url->fragment : url->path + 1); + else + buf = g_strdup_printf (_("Copying folder %s"), url->fragment ? url->fragment : url->path + 1); + + camel_url_free (url); + + return buf; + } else { + if (m->move) + return g_strdup_printf (_("Moving messages into folder %s"), m->full_name); + else + return g_strdup_printf (_("Copying messages into folder %s"), m->full_name); + } +} + static void emft_drop_async_drop (struct _mail_msg *mm) { @@ -916,7 +942,7 @@ emft_drop_async_free (struct _mail_msg *mm) } static struct _mail_msg_op emft_drop_async_op = { - NULL, + emft_drop_async_desc, emft_drop_async_drop, emft_drop_async_done, emft_drop_async_free, |