aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog10
-rw-r--r--mail/mail-send-recv.c8
-rw-r--r--mail/mail-vfolder.c72
3 files changed, 59 insertions, 31 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 96fea5fa92..f0d2afe754 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,13 @@
+2001-02-16 Not Zed <NotZed@Ximian.com>
+
+ * mail-send-recv.c (receive_status): Dont do the thaw/freeze set here.
+ (update_folders): "
+
+ * mail-vfolder.c (vfolder_refresh): Setup the virtual
+ 'unmatched' folder by default.
+ (vfolder_uri_to_folder): HAndle UNMATCHED folder specially, it has
+ no explicit sources.
+
2001-02-16 Jeffrey Stedfast <fejj@ximian.com>
* mail-send-recv.c (receive_get_folder): Not sure it makes any
diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c
index 6eace378d3..299a07289a 100644
--- a/mail/mail-send-recv.c
+++ b/mail/mail-send-recv.c
@@ -346,8 +346,8 @@ update_folders(char *uri, struct _folder_info *info, void *data)
/* we back off slowly as we progress */
if (now > info->update+10+info->count*5) {
printf("upating a folder: %s\n", info->uri);
- camel_folder_thaw(info->folder);
- camel_folder_freeze(info->folder);
+ /*camel_folder_thaw(info->folder);
+ camel_folder_freeze(info->folder);*/
info->update = now;
info->count++;
}
@@ -417,8 +417,8 @@ receive_status (CamelFilterDriver *driver, enum camel_filter_status_t status, in
if (info->data->inbox && now > info->data->inbox_update+20) {
printf("updating inbox too\n");
/* this doesn't seem to work right :( */
- camel_folder_thaw(info->data->inbox);
- camel_folder_freeze(info->data->inbox);
+ /*camel_folder_thaw(info->data->inbox);
+ camel_folder_freeze(info->data->inbox);*/
info->data->inbox_update = now;
}
diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c
index 7f654d2da5..e420a24178 100644
--- a/mail/mail-vfolder.c
+++ b/mail/mail-vfolder.c
@@ -125,6 +125,26 @@ vfolder_refresh(void)
g_free(info->query);
l = g_list_next(l);
}
+
+ /* setup the virtual unmatched folder */
+ info = vfolder_find("UNMATCHED");
+ if (info == NULL) {
+ char *uri, *path;
+
+ info = g_malloc(sizeof(*info));
+ info->name = g_strdup("UNMATCHED");
+ info->query = g_strdup("UNMATCHED");
+ d(printf("Adding new vfolder: %s %s\n", info->name, info->query));
+
+ uri = g_strdup_printf("vfolder:%s", info->name);
+ path = g_strdup_printf("/%s", info->name);
+ evolution_storage_new_folder(vfolder_storage, path, g_basename(path),
+ "mail", uri, info->name, FALSE);
+ g_free(uri);
+ g_free(path);
+ }
+ head = g_list_append(head, info);
+
g_list_free(available_vfolders);
available_vfolders = head;
g_string_free(expr, TRUE);
@@ -203,34 +223,32 @@ vfolder_uri_to_folder(const char *uri, CamelException *ex)
bonobo_object_ref (BONOBO_OBJECT (vfolder_storage));
mail_hash_storage ((CamelService *)folder->parent_store, vfolder_storage);
- sourceuri = NULL;
- sources = 0;
- while ( (sourceuri = vfolder_rule_next_source(rule, sourceuri)) ) {
- d(printf("adding vfolder source: %s\n", sourceuri));
- sourcefolder = mail_tool_uri_to_folder (sourceuri, ex);
- printf("source folder = %p\n", sourcefolder);
- if (sourcefolder) {
- sources++;
- mail_tool_camel_lock_up ();
- camel_vee_folder_add_folder(folder, sourcefolder);
- mail_tool_camel_lock_down ();
- } else {
- /* we'll just silently ignore now-missing sources */
- camel_exception_clear(ex);
+ if (strcmp(uri+8, "UNMATCHED") != 0) {
+ sourceuri = NULL;
+ sources = 0;
+ while ( (sourceuri = vfolder_rule_next_source(rule, sourceuri)) ) {
+ d(printf("adding vfolder source: %s\n", sourceuri));
+ sourcefolder = mail_tool_uri_to_folder (sourceuri, ex);
+ printf("source folder = %p\n", sourcefolder);
+ if (sourcefolder) {
+ sources++;
+ camel_vee_folder_add_folder(folder, sourcefolder);
+ } else {
+ /* we'll just silently ignore now-missing sources */
+ camel_exception_clear(ex);
+ }
}
- }
- /* if we didn't have any sources, just use Inbox as the default */
- if (sources == 0) {
- char *defaulturi;
-
- defaulturi = g_strdup_printf("file://%s/local/Inbox", evolution_dir);
- d(printf("No sources configured/found, using default: %s\n", defaulturi));
- sourcefolder = mail_tool_uri_to_folder (defaulturi, ex);
- g_free(defaulturi);
- if (sourcefolder) {
- mail_tool_camel_lock_up ();
- camel_vee_folder_add_folder(folder, sourcefolder);
- mail_tool_camel_lock_down ();
+ /* if we didn't have any sources, just use Inbox as the default */
+ if (sources == 0) {
+ char *defaulturi;
+
+ defaulturi = g_strdup_printf("file://%s/local/Inbox", evolution_dir);
+ d(printf("No sources configured/found, using default: %s\n", defaulturi));
+ sourcefolder = mail_tool_uri_to_folder (defaulturi, ex);
+ g_free(defaulturi);
+ if (sourcefolder) {
+ camel_vee_folder_add_folder(folder, sourcefolder);
+ }
}
}
;id=5faad755894f3fc316b58027c29695f78ceba134'>see if the address is already in the list of attendees (duplicate_error):JP Rosevear2001-07-262-16/+68 * calculate tmp_tm.tm_wday ourselves. strftime has a habit of crashing ifDamon Chaplin2001-07-252-0/+11 * stip the delto and delfrom (popup_delegate_cb): show a delegate dialog andJP Rosevear2001-07-257-39/+662 * fixed the test to see whether we should draw the icons.Damon Chaplin2001-07-242-3/+8 * Add an extra @type arg to the xferFolder and removeFolder methods inEttore Perazzoli2001-07-233-2/+84 * Add a `user_creatable' property to folder types and make componentsEttore Perazzoli2001-07-223-4/+10 * Removed unused prototype.Federico Mena Quintero2001-07-203-2/+8 * free various data related settings (destroy): use cleanup and unref theJP Rosevear2001-07-202-5/+70 * updated to use new print icon.Damon Chaplin2001-07-203-1/+7 * don't show the time in the EDateEdit widget for adding EXDATEs.Damon Chaplin2001-07-183-2/+10 * do not discard drawing icon if mask is NULLRodrigo Moya2001-07-183-2/+10 * find the next displayable component (get_prev): find the previousJP Rosevear2001-07-182-3/+52 * Remove leftover ifdefs - FedericoFederico Mena Quintero2001-07-182-12/+1 * oops, save ChangeLog before committing - FedericoFederico Mena Quintero2001-07-181-1/+2 * Really fixes #4380. The previous fix was necessary but not sufficient; itFederico Mena Quintero2001-07-186-5/+58 * Print a g_message when the list of invited people changes in theJon Trowbridge2001-07-172-2/+20 * destroy the dialog widget here. Fixes bug #4198.Damon Chaplin2001-07-172-0/+10 * try to use builtin timezones before getting them from the server. WhenDamon Chaplin2001-07-176-26/+77 * Removed unused headers - FedericoFederico Mena Quintero2001-07-171-8/+0 * Added missing underlined shortcuts.Taylor Hayward2001-07-137-15/+31 * new protoJP Rosevear2001-07-136-30/+45 * fix typo breaking compilationJP Rosevear2001-07-137-15/+41 * guard against infinite loops with the updating boolean, fixes 4270JP Rosevear2001-07-132-0/+12 * added support for multiple selections in cut/copy/paste. Also, it's nowRodrigo Moya2001-07-133-21/+45 * renamed updateObject to updateObjects and removed the UID argument, sinceDamon Chaplin2001-07-1211-39/+138 * Fixes bug #4380 as well as some leftovers from the days of struct tm andFederico Mena Quintero2001-07-1212-43/+52 * fix the calendar not exiting with a gross hack because i don't have timeJP Rosevear2001-07-123-0/+42 * be careful about adding and stripping MAILTO:'s properlyJP Rosevear2001-07-1211-77/+117 * Added a hack to get the last string translated since xml-i18n-toolsKjartan Maraas2001-07-112-0/+15 * Move this higher so that Makefile properly depends on us. Fixes distcheck.Peter Williams2001-07-112-1/+7 * Clarified some things.Jacob Leach2001-07-111-2/+3 * [Fix bug #4389: ETableSpecification still in .c file]Jason Leach2001-07-116-93/+54 * [Fix bug #4388: ETableSpecification still in .c file]Jason Leach2001-07-114-46/+40 * more timezone updates. I'm pretty much done with the calendar code now,Damon Chaplin2001-07-1122-653/+1030 * Add popup support so you can delete users from the listJP Rosevear2001-07-113-8/+140 * Handle the different alarm actions. (display_notification): Do the alarmFederico Mena Quintero2001-07-115-95/+142 * Pass the parent vCalendar component as the timezone closure ofFederico Mena Quintero2001-07-114-6/+35 * Use e_utf8_from_gtk_event_key() so that we can input utf8 text properly.Federico Mena Quintero2001-07-106-16/+49 * connect to the entry not the comboJP Rosevear2001-07-075-9/+74 * actually clear some widgets and hide/show widgets in the default setupJP Rosevear2001-07-077-119/+511 * Fixes bug #4018 and what would be the analogous bugs for the otherFederico Mena Quintero2001-07-0510-1/+161 * New function. (calendar_control_activate): Clear the folder bar label; weFederico Mena Quintero2001-07-052-0/+57 * Add new columns for information specification (meeting_page_destroy): saveJP Rosevear2001-07-047-17/+80 * use bonobo-conf everywhereDietmar Maurer2001-07-041-100/+143 * fix warning, and added some debug messages.Damon Chaplin2001-07-034-2/+23 * added virtual method to get a VTIMEZONE component given a TZID. We needDamon Chaplin2001-07-037-22/+96 * New files with the alarm options dialog; this configures theFederico Mena Quintero2001-07-039-7/+1077 * cal-client/cal-client.[hc] cal-util/cal-component.cDamon Chaplin2001-07-0348-537/+2009 * publish free/busy information for the currently viewed time rangeJP Rosevear2001-07-03