aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/component-factory.c33
-rw-r--r--mail/mail-local.c10
-rw-r--r--mail/mail-ops.c17
4 files changed, 39 insertions, 28 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 1e4437b8f9..0231256e99 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,12 @@
2001-07-16 Jeffrey Stedfast <fejj@ximian.com>
+ * mail-ops.c (add_vtrash_info): Use g_strcasecmp() when looking
+ for a Trash folder - it may be lowercase or something funky.
+
+ * mail-local.c (init_trash): No need to specify the vfolder
+ expression here. This code was moved into camel-vtrash-folder.c
+ ages ago.
+
* component-factory.c: Let VTrash folders accept/export the same
dnd types as normal folders.
diff --git a/mail/component-factory.c b/mail/component-factory.c
index 294506b670..5610ddc8c7 100644
--- a/mail/component-factory.c
+++ b/mail/component-factory.c
@@ -52,6 +52,8 @@
#include "mail-send-recv.h"
+#include <camel/camel-vtrash-folder.h>
+
char *default_drafts_folder_uri;
CamelFolder *drafts_folder = NULL;
char *default_sent_folder_uri;
@@ -273,7 +275,8 @@ xfer_folder (EvolutionShellComponent *shell_component,
do_xfer_folder,
CORBA_Object_duplicate (listener, &ev));
- GNOME_Evolution_ShellComponentListener_notifyResult (listener, GNOME_Evolution_ShellComponentListener_OK, &ev);
+ GNOME_Evolution_ShellComponentListener_notifyResult (listener, GNOME_Evolution_ShellComponentListener_OK,
+ &ev);
} else
GNOME_Evolution_ShellComponentListener_notifyResult (listener, GNOME_Evolution_ShellComponentListener_INVALID_URI, &ev);
CORBA_exception_free (&ev);
@@ -361,7 +364,7 @@ message_rfc822_dnd (CamelFolder *dest, CamelStream *stream, CamelException *ex)
}
static CORBA_boolean
-destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *folder,
+destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *dest_folder,
const char *physical_uri,
const GNOME_Evolution_ShellComponentDnd_DestinationFolder_Context *destination_context,
const GNOME_Evolution_ShellComponentDnd_Action action,
@@ -370,7 +373,7 @@ destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *fol
{
char *url, *in, *inptr, *inend;
gboolean retval = FALSE;
- CamelFolder *source;
+ CamelFolder *folder;
CamelStream *stream;
CamelException ex;
GPtrArray *uids;
@@ -390,8 +393,8 @@ destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *fol
switch (type) {
case ACCEPTED_DND_TYPE_TEXT_URI_LIST:
- source = mail_tool_uri_to_folder (physical_uri, NULL);
- if (!source)
+ folder = mail_tool_uri_to_folder (physical_uri, NULL);
+ if (!folder)
return FALSE;
url = g_strndup (data->bytes._buffer, data->bytes._length);
@@ -414,9 +417,9 @@ destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *fol
}
stream = camel_stream_fs_new_with_fd (fd);
- message_rfc822_dnd (source, stream, &ex);
+ message_rfc822_dnd (folder, stream, &ex);
camel_object_unref (CAMEL_OBJECT (stream));
- camel_object_unref (CAMEL_OBJECT (source));
+ camel_object_unref (CAMEL_OBJECT (folder));
retval = !camel_exception_is_set (&ex);
@@ -426,8 +429,8 @@ destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *fol
g_free (url);
break;
case ACCEPTED_DND_TYPE_MESSAGE_RFC822:
- source = mail_tool_uri_to_folder (physical_uri, &ex);
- if (!source) {
+ folder = mail_tool_uri_to_folder (physical_uri, &ex);
+ if (!folder) {
camel_exception_clear (&ex);
return FALSE;
}
@@ -437,9 +440,9 @@ destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *fol
camel_stream_write (stream, data->bytes._buffer, data->bytes._length);
camel_stream_reset (stream);
- message_rfc822_dnd (source, stream, &ex);
+ message_rfc822_dnd (folder, stream, &ex);
camel_object_unref (CAMEL_OBJECT (stream));
- camel_object_unref (CAMEL_OBJECT (source));
+ camel_object_unref (CAMEL_OBJECT (folder));
break;
case ACCEPTED_DND_TYPE_X_EVOLUTION_MESSAGE:
/* format: "uri uid1\0uid2\0uid3\0...\0uidn" */
@@ -450,10 +453,10 @@ destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *fol
inptr = strchr (in, ' ');
url = g_strndup (in, inptr - in);
- source = mail_tool_uri_to_folder (url, &ex);
+ folder = mail_tool_uri_to_folder (url, &ex);
g_free (url);
- if (!source) {
+ if (!folder) {
camel_exception_clear (&ex);
return FALSE;
}
@@ -471,11 +474,11 @@ destination_folder_handle_drop (EvolutionShellComponentDndDestinationFolder *fol
inptr++;
}
- mail_transfer_messages (source, uids,
+ mail_transfer_messages (folder, uids,
action == GNOME_Evolution_ShellComponentDnd_ACTION_MOVE,
physical_uri, NULL, NULL);
- camel_object_unref (CAMEL_OBJECT (source));
+ camel_object_unref (CAMEL_OBJECT (folder));
break;
default:
break;
diff --git a/mail/mail-local.c b/mail/mail-local.c
index 56b68344e0..5f77db80d4 100644
--- a/mail/mail-local.c
+++ b/mail/mail-local.c
@@ -350,13 +350,8 @@ static void
init_trash (CamelStore *store)
{
MailLocalStore *local_store = MAIL_LOCAL_STORE (store);
- char *name;
- name = g_strdup_printf ("%s?(match-all (system-flag \"Deleted\"))", "vTrash");
-
- store->vtrash = camel_vtrash_folder_new (store, name);
-
- g_free (name);
+ store->vtrash = camel_vtrash_folder_new (store, _("Trash"));
if (store->vtrash) {
/* attach to the finalize event of the vtrash */
@@ -446,7 +441,8 @@ struct _register_msg {
MailLocalFolder *local_folder;
};
-static char *register_folder_desc(struct _mail_msg *mm, int done)
+static char *
+register_folder_desc(struct _mail_msg *mm, int done)
{
struct _register_msg *m = (struct _register_msg *)mm;
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index bcb171db80..3c8818020d 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -983,7 +983,8 @@ struct _get_folderinfo_msg {
void *data;
};
-static char *get_folderinfo_desc(struct _mail_msg *mm, int done)
+static char *
+get_folderinfo_desc (struct _mail_msg *mm, int done)
{
struct _get_folderinfo_msg *m = (struct _get_folderinfo_msg *)mm;
char *ret, *name;
@@ -1004,7 +1005,7 @@ add_vtrash_info (CamelFolderInfo *info)
g_return_if_fail (info != NULL);
for (fi = info; fi->sibling; fi = fi->sibling) {
- if (!strcmp (fi->name, _("Trash")))
+ if (!g_strcasecmp (fi->name, _("Trash")))
break;
}
@@ -1036,7 +1037,8 @@ add_vtrash_info (CamelFolderInfo *info)
g_free (uri);
}
-static void get_folderinfo_get(struct _mail_msg *mm)
+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;
@@ -1051,7 +1053,8 @@ static void get_folderinfo_get(struct _mail_msg *mm)
camel_operation_unregister(mm->cancel);
}
-static void get_folderinfo_got(struct _mail_msg *mm)
+static void
+get_folderinfo_got (struct _mail_msg *mm)
{
struct _get_folderinfo_msg *m = (struct _get_folderinfo_msg *)mm;
@@ -1066,7 +1069,8 @@ static void get_folderinfo_got(struct _mail_msg *mm)
m->done(m->store, m->info, m->data);
}
-static void get_folderinfo_free(struct _mail_msg *mm)
+static void
+get_folderinfo_free (struct _mail_msg *mm)
{
struct _get_folderinfo_msg *m = (struct _get_folderinfo_msg *)mm;
@@ -1082,7 +1086,8 @@ static struct _mail_msg_op get_folderinfo_op = {
get_folderinfo_free,
};
-int mail_get_folderinfo(CamelStore *store, void (*done)(CamelStore *store, CamelFolderInfo *info, void *data), void *data)
+int
+mail_get_folderinfo (CamelStore *store, void (*done)(CamelStore *store, CamelFolderInfo *info, void *data), void *data)
{
struct _get_folderinfo_msg *m;
int id;