summaryrefslogtreecommitdiff
path: root/databases/evolution-data-server/files/patch-fix-maildir
blob: db2563e0e040f0e77991b82a2f9e1dc780786d28 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
Index: camel/providers/local/camel-local-provider.c
===================================================================
--- camel/providers/local/camel-local-provider.c	(revision 7830)
+++ camel/providers/local/camel-local-provider.c	(working copy)
@@ -56,7 +56,7 @@
 	N_("For storing local mail in MH-like mail directories."),
 	"mail",
 	CAMEL_PROVIDER_IS_SOURCE | CAMEL_PROVIDER_IS_STORAGE | CAMEL_PROVIDER_IS_LOCAL,
-	CAMEL_URL_NEED_PATH | CAMEL_URL_PATH_IS_ABSOLUTE | CAMEL_URL_FRAGMENT_IS_PATH,
+	CAMEL_URL_NEED_PATH | CAMEL_URL_NEED_PATH_DIR | CAMEL_URL_PATH_IS_ABSOLUTE | CAMEL_URL_FRAGMENT_IS_PATH,
 	mh_conf_entries,
 	/* ... */
 };
@@ -74,7 +74,7 @@
 	N_("For retrieving (moving) local mail from standard mbox-formatted spools into folders managed by Evolution."),
 	"mail",
 	CAMEL_PROVIDER_IS_SOURCE | CAMEL_PROVIDER_IS_STORAGE | CAMEL_PROVIDER_IS_LOCAL,
-	CAMEL_URL_NEED_PATH | CAMEL_URL_PATH_IS_ABSOLUTE | CAMEL_URL_FRAGMENT_IS_PATH,
+	CAMEL_URL_NEED_PATH | CAMEL_URL_NEED_PATH_DIR |CAMEL_URL_PATH_IS_ABSOLUTE | CAMEL_URL_FRAGMENT_IS_PATH,
 	mbox_conf_entries,
 	/* ... */
 };
@@ -96,7 +96,7 @@
 	N_("For storing local mail in maildir directories."),
 	"mail",
 	CAMEL_PROVIDER_IS_SOURCE | CAMEL_PROVIDER_IS_STORAGE | CAMEL_PROVIDER_IS_LOCAL,
-	CAMEL_URL_NEED_PATH | CAMEL_URL_PATH_IS_ABSOLUTE | CAMEL_URL_FRAGMENT_IS_PATH,
+	CAMEL_URL_NEED_PATH | CAMEL_URL_NEED_PATH_DIR | CAMEL_URL_PATH_IS_ABSOLUTE | CAMEL_URL_FRAGMENT_IS_PATH,
 	maildir_conf_entries,
 	/* ... */
 };
@@ -110,9 +110,9 @@
 	{ CAMEL_PROVIDER_CONF_END }
 };
 
-static CamelProvider spool_provider = {
+static CamelProvider spool_file_provider = {
 	"spool",
-	N_("Standard Unix mbox spool or directory"),
+	N_("Standard Unix mbox spool file"),
 	N_("For reading and storing local mail in external standard mbox spool files.\nMay also be used to read a tree of Elm, Pine, or Mutt style folders."),
 	"mail",
 	CAMEL_PROVIDER_IS_SOURCE | CAMEL_PROVIDER_IS_STORAGE,
@@ -121,6 +121,17 @@
 	/* ... */
 };
 
+static CamelProvider spool_directory_provider = {
+	"spooldir",
+	N_("Standard Unix mbox spool directory"),
+	N_("For reading and storing local mail in external standard mbox spool files.\nMay also be used to read a tree of Elm, Pine, or Mutt style folders."),
+	"mail",
+	CAMEL_PROVIDER_IS_SOURCE | CAMEL_PROVIDER_IS_STORAGE,
+	CAMEL_URL_NEED_PATH | CAMEL_URL_NEED_PATH_DIR | CAMEL_URL_PATH_IS_ABSOLUTE | CAMEL_URL_FRAGMENT_IS_PATH,
+	spool_conf_entries,
+	/* ... */
+};
+
 #endif
 
 /* build a canonical 'path' */
@@ -234,13 +245,19 @@
 	camel_provider_register(&mbox_provider);
 
 #ifndef G_OS_WIN32
-	spool_conf_entries[0].value = path;  /* default path - same as mbox */
-	spool_provider.object_types[CAMEL_PROVIDER_STORE] = camel_spool_store_get_type ();
-	spool_provider.url_hash = local_url_hash;
-	spool_provider.url_equal = local_url_equal;
-	spool_provider.translation_domain = GETTEXT_PACKAGE;
-	camel_provider_register(&spool_provider);
-	
+	spool_conf_entries[0].value = path;  /* default path - same as mbox; it's for both file and directory */
+	spool_file_provider.object_types[CAMEL_PROVIDER_STORE] = camel_spool_store_get_type ();
+	spool_file_provider.url_hash = local_url_hash;
+	spool_file_provider.url_equal = local_url_equal;
+	spool_file_provider.translation_domain = GETTEXT_PACKAGE;
+	camel_provider_register(&spool_file_provider);
+
+	spool_directory_provider.object_types[CAMEL_PROVIDER_STORE] = camel_spool_store_get_type ();
+	spool_directory_provider.url_hash = local_url_hash;
+	spool_directory_provider.url_equal = local_url_equal;
+	spool_directory_provider.translation_domain = GETTEXT_PACKAGE;
+	camel_provider_register(&spool_directory_provider);
+
 	path = getenv("MAILDIR");
 	maildir_conf_entries[0].value = path ? path : "";  /* default path */
 	maildir_provider.object_types[CAMEL_PROVIDER_STORE] = camel_maildir_store_get_type ();
Index: camel/providers/local/ChangeLog
===================================================================
--- camel/providers/local/ChangeLog	(revision 7830)
+++ camel/providers/local/ChangeLog	(working copy)
@@ -1,3 +1,12 @@
+2007-06-18  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #352346
+
+	* camel-local-provider.c: (camel_provider_module_init):
+	New provider spool_file_provider with virtual protocol 'spooldir'
+	and set CAMEL_URL_NEED_PATH_DIR; registering this provider
+	as copy for spool files.
+
 2007-06-06  Jeffrey Stedfast  <fejj@novell.com>
 
 	Robustness fix while making sure the code would properly handle
Index: camel/ChangeLog
===================================================================
--- camel/ChangeLog	(revision 7830)
+++ camel/ChangeLog	(working copy)
@@ -1,3 +1,11 @@
+2007-06-18  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #352346
+
+	* camel-provider.h: Added new constants CAMEL_URL_PART_PATH_DIR and
+	CAMEL_URL_NEED_PATH_DIR; when CAMEL_URL_NEED_PATH_DIR is set, then
+	in editor dialog is choosing file, without it directory.
+
 2007-06-14  Philip Van Hoof  <pvanhoof@gnome.org>
 	
 	* camel-net-utils.c: Memory leak fix
Index: camel/camel-provider.h
===================================================================
--- camel/camel-provider.h	(revision 7830)
+++ camel/camel-provider.h	(working copy)
@@ -81,6 +81,7 @@
 #define CAMEL_URL_PART_HOST	 (1 << 3)
 #define CAMEL_URL_PART_PORT	 (1 << 4)
 #define CAMEL_URL_PART_PATH	 (1 << 5)
+#define CAMEL_URL_PART_PATH_DIR  (1 << 6)
 
 #define CAMEL_URL_PART_NEED	       8
 #define CAMEL_URL_PART_HIDDEN	(CAMEL_URL_PART_NEED + 8)
@@ -104,6 +105,7 @@
 #define CAMEL_URL_NEED_HOST	 (CAMEL_URL_PART_HOST << CAMEL_URL_PART_NEED)
 #define CAMEL_URL_NEED_PORT	 (CAMEL_URL_PART_PORT << CAMEL_URL_PART_NEED)
 #define CAMEL_URL_NEED_PATH	 (CAMEL_URL_PART_PATH << CAMEL_URL_PART_NEED)
+#define CAMEL_URL_NEED_PATH_DIR  (CAMEL_URL_PART_PATH_DIR << CAMEL_URL_PART_NEED)
 
 #define CAMEL_URL_HIDDEN_USER	 (CAMEL_URL_PART_USER << CAMEL_URL_PART_HIDDEN)
 #define CAMEL_URL_HIDDEN_AUTH	 (CAMEL_URL_PART_AUTH << CAMEL_URL_PART_HIDDEN)