2000-11-17 Not Zed <NotZed@HelixCode.com>
* message-list.c (message_list_destroy): Before we destroy
ourselves, unhook ourselves from the folder update events. Should
fix a common crash on exit case.
svn path=/trunk/; revision=6598
2000-11-17 Not Zed <NotZed@HelixCode.com>
* camel-stream-buffer.c (camel_stream_buffer_gets): We should
always terminate the string. No need to check outptr is in range,
its already been checked.
* providers/local/camel-mbox-summary.c (mbox_summary_sync): When
we update the summary, do it from mbox_summary->folder_size, not
the content info endpos (which isn't any good anymore anyway).
* providers/local/camel-mbox-folder.c (mbox_append_message): Set
the frompos from the current folder size, since summary_add wont
have initialised it to anything useful.
svn path=/trunk/; revision=6597
2000-11-16 Jeffrey Stedfast <fejj@helixcode.com>
* folder-browser-factory.c: Added the MessageViewSource bonobo
menu verb.
* mail-ops.c (mail_do_save_messages): New async function to save
messages as individual files in a given path.
svn path=/trunk/; revision=6596
2000-11-16 Not Zed <NotZed@HelixCode.com>
* providers/local/camel-local-summary.c
(local_summary_encode_x_evolution): Check the uid string is all
digits before trying to write a 'standard' x-ev header.
* providers/local/camel-maildir-summary.c
(camel_maildir_summary_info_to_name): Convert an info into a
maildir name:info filename.
(camel_maildir_summary_name_to_info): Convert a name:info filename
into an info, and tell us if it didn't match it.
(message_info_new): When creating a new filename, gets its info
from the flags field. Likewise if creating from an existing file,
extract the flags.
(maildir_summary_sync): Remove a small memleak. Also, if our
flags and that requires a filename change, perform that here.
(message_info_new): Get the received date from the filename.
Also, dont overwirte the uid if we have one.
(maildir_summary_check): Sort the summary in received order before
completion.
(maildir_summary_next_uid_string): Test the name for collusions
before we give it out. Retry, and if that fails, well, I guess we
collide :(
* providers/local/camel-mbox-folder.c (mbox_lock): Implement mbox
locking.
(mbox_unlock): And unlocking.
(mbox_append_message): Lock the folder for write before doing
anything.
(mbox_get_message): Lock the folder for read before doing
anything.
* providers/local/camel-local-folder.c (camel_local_folder_lock):
Implement something here. We handle the recursive ability but
pass the locking to the folder itself.
(camel_local_folder_unlock): Likewise for unlocking.
(local_lock): Default - do nothing, return success.
(local_unlock): Same.
(local_sync): Changed slightly for locking api changes, and also,
only lock around the sync process itself.
* camel-lock.c: New file - utility functions for locking using
different strategies and/or for locking folders safely.
* Makefile.am (libcamel_la_SOURCES): Adde camel-lock.[ch]
svn path=/trunk/; revision=6592
2000-11-16 Not Zed <NotZed@HelixCode.com>
* wordindexmem.c (ibex_create_word_index_mem): Initialise nameinit
& namecache.
(contains_name): On first call, load all names into memory. We
usually do a whole lot of lookups in a row, and this saves a lot
of penalties on a big list, for not too much a memory hit.
(find_name): If we have the namelist in memory do a quick
short-circuit check to see if we have to do further processing.
(unindex_name): Cross check the namecache, if it is active.
Remove it there too/or exit (no work to do).
(word_flush): If we have the namecache active, destroy it now, as
it is not needed anymore (for now).
svn path=/trunk/; revision=6591
2000-11-16 Not Zed <NotZed@HelixCode.com>
* camel-lock.c: New file - utility functions for locking using
different strategies and/or for locking folders safely.
* Makefile.am (libcamel_la_SOURCES): Adde camel-lock.[ch]
svn path=/trunk/; revision=6590
2000-11-15 Jeffrey Stedfast <fejj@helixcode.com>
* filter-driver.c (filter_driver_filter_folder): Sync here
instead.
(filter_driver_filter_mbox): And here too.
(filter_driver_finalise): Don't sync here afterall - it's more
preferable to sync right after processing.
svn path=/trunk/; revision=6588
2000-11-15 Jeffrey Stedfast <fejj@helixcode.com>
* folder-browser-factory.c: Added a new Forward as Attachment
bonobo menu item verb.
* mail-view.c (view_forward_msg): Updated to reflect changes to
mail_do_forward_message(). It now forwards the message without
attaching it - is this what we want?
* mail-ops.c (mail_do_view_message_sources): New async function to
display message source dialog windows.
(setup_forward_messages): If we were asked not to forward the
message(s) as attachment(s) and the user chose more than a single
message, then default to making each message an attachment.
(cleanup_forward_messages): If we aren't forwarding the message as
an attachment, then quote the text and set the composer's body
with it.
* mail-callbacks.c (view_source): New callback to view the message
source of all messages that are currently selected.
(forward_attach): New callback to forward a message as an
attachment (forward_msg is now for forwarding a message without it
being an attachment).
(forward_message): Convenience function for forwarding messages.
svn path=/trunk/; revision=6585
2000-11-15 Radek Doulik <rodo@helixcode.com>
* e-msg-composer.h: e_msg_composer_guess_mime_type renamed and
moved mime_guess_type_from_file_name from camel as it uses VFS
svn path=/trunk/; revision=6579
2000-11-15 Radek Doulik <rodo@helixcode.com>
* camel-mime-utils.c: mime_guess_type_from_file_name moved back to
composer as it introduced unwanted VFS dependency
svn path=/trunk/; revision=6578
2000-11-15 Not Zed <NotZed@HelixCode.com>
* providers/Makefile.am: Removed local again, not quite ready.
2000-11-14 Not Zed <NotZed@HelixCode.com>
* camel-folder-summary.c (message_info_new_from_message): Use
message_info_new to create the summary from headers, instead of
getting directly from the message.
(format_recipients): No longer required.
* providers/Makefile.am (SUBDIRS): Added local.
2000-11-11 Not Zed <NotZed@HelixCode.com>
* camel-mime-parser.c (folder_push_part): Make sure 'atleast' is
at least 1, always. This is possibly a temporary fix for a
bad failure mode on bad multipart messages.
(folder_scan_content): Go until inend, not inend+1. Changed the
continuation and retry logic to be simpler and more robust. If we
can't find a marker within
the atleast we need, just set it to 1, and try again, rather than
just going to the next smaller limit (boundary check checks the
length anyway).
(header_append): streamline the empty line case. And strip
trailing \r's if there are any (\n's already stripped).
(folder_scan_header): Reordered and cleaned up a lot. Check for
continuation only once, and compress lwsp then. Assume the header
buffer already has end of line's stripped, and simplify some things:
Only check for end of headers once and easier.
Dont check to remove end of line character
Dont bother testing inptr-start if we get a boundary match - it is
always zero.
(folder_scan_header): Removed the unused part variable, and a few
pointless assignments.
(folder_scan_header): Change the end limit to be 1 higher, to make
sure we get all content.
(folder_scan_content): And here too.
(folder_scan_header): Killed a warning.
(folder_push_part): Removed a bad comment. Actually
boundarylenfinal can be zero for a new message not in a
multipart. So we fix that here.
2000-11-09 Not Zed <NotZed@HelixCode.com>
* camel-mime-utils.c (header_decode_param_list): Renamed from
header_param_list_decode.
(header_param_list_decode): New external function to decode a
parameter list.
(header_param_list_format_append): Made public.
(header_param_list_format): Another new public helper function for
formatting just a param list.
* camel-folder-summary.c (next_uid_string): Default implementation
is the same as before.
(camel_folder_summary_class_init): And set it up.
* camel-folder-summary.h: Make next_uid_string a virtual function.
* camel-folder.c (camel_folder_change_info_changed): New function
to return true if the changeset contains any changes.
svn path=/trunk/; revision=6577
2000-11-14 Jeffrey Stedfast <fejj@helixcode.com>
* camel-stream.c (camel_stream_printf): Don't cast an int to a
ssize_t.
svn path=/trunk/; revision=6574
2000-11-14 Michael Meeks <michael@helixcode.com>
* e-shell-view.c (unmerge_on_error): add
(e_shell_view_construct): hook up to system_exception on
ui_container.
svn path=/trunk/; revision=6571
* gui/itip-utils.[ch]: I created this file to store some commonly used enumeration to
string mappings and functions.
* gui/Makefile.am: this was changed to reflect the addition of the above file.
* gui/e-itip-control.c: added code to take action on a REPLY message.
* gui/e-meeting-edit.c: bug fixes.
svn path=/trunk/; revision=6566
2000-11-13 Jeffrey Stedfast <fejj@helixcode.com>
* subscribe-dialog.c (subscribe_do_subscribe_folder): Take a
'subscribe' argument so that this can function as a subscribe AND
unsibscribe method.
(describe_subscribe_folder): Updated.
(do_subscribe_folder): Updated.
(cleanup_subscribe_folder): Updated.
(subscribe_folder_info): Pass along a TRUE as the 'subscribe'
param.
(unsubscribe_folder_info): Pass along a FALSE as the 'subscribe'
param.
svn path=/trunk/; revision=6565
2000-11-13 Christopher James Lahey <clahey@helixcode.com>
* configure.in: Update the gal reqiurement version.
From mail/ChangeLog:
2000-11-13 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Removed some e_table_model calls and replaced
them with e_tree_model calls.
svn path=/trunk/; revision=6564
2000-11-12 Federico Mena Quintero <federico@helixcode.com>
OK, bugzilla bug #829 is fixed and that does not redeem me from
extreme procrastination. Wheeeeeeeeeeeeeeee!
* gui/event-editor-dialog.c: Changed the "Rule view" label to
"Preview"
svn path=/trunk/; revision=6558
* mail-local.c (mail_do_register_folder): Do this the normal way
rather than calling mail_operation_wait_for_finish. There was some
reason for it originally, but it no longer applies. This makes
adding new folders from the folder selection dialog no longer
hang.
svn path=/trunk/; revision=6557
2000-11-12 Jeffrey Stedfast <fejj@helixcode.com>
* filter-driver.c (filter_driver_filter_message): If there is a
default folder and the message hasn't been deleted then... should
be: If there is a default folder and the message hasn't been
copied to another folder and the message hasn't been deleted...
(filter_driver_filter_message): Make it so that the FILTER_LOG_END
is only called if filtered were applied to the message so we don't
get huge gaps of whitespace in the log file.
(filter_driver_filter_message):
svn path=/trunk/; revision=6555
2000-11-12 Jeffrey Stedfast <fejj@helixcode.com>
* filter-driver.c (filter_driver_filter_message): If there is a
default folder and the message hasn't been deleted then... should
be: If there is a default folder and the message hasn't been
copied to another folder...
(filter_driver_filter_message): Make it so that the FILTER_LOG_END
is only called if filtered were applied to the message so we don't
get huge gaps of whitespace in the log file.
svn path=/trunk/; revision=6554
2000-11-12 Federico Mena Quintero <federico@helixcode.com>
* gui/event-editor.c (recur_preview_date_range_changed_cb): New
function; re-tag the calendar when its date range changes.
(init_widgets): Connect to "date_range_changed" on the recurrence
preview calendar.
(make_recur_weekly_special): Connect to "changed" on the weekday
picker.
(recur_weekday_picker_changed_cb): New function; re-tag the calendar.
(month_day_menu_selection_done_cb): Re-tag the calendar.
(recur_month_index_value_changed_cb): Likewise.
(recur_ending_until_changed_cb): Likewise.
(recur_ending_count_value_changed_cb): Likewise.
(make_recur_monthly_special): Connect to "value_changed" on the
adjustment of the month index.
(make_recur_ending_until_special): Connect to "changed" on the
ending-until date picker.
(make_recur_ending_count_special): Connect to "value_changed" on
the ending-count adjustment.
(init_widgets): Set to zero the maximum number of selectable days
in the recurrence preview calendar. Set the week_start_day from
the calendar's configuration.
svn path=/trunk/; revision=6552
2000-11-12 Jeffrey Stedfast <fejj@helixcode.com>
* filter-driver.c (filter_driver_filter_message): If there is a
default folder and the message hasn't been deleted then... should
be: If there is a default folder and the message hasn't been
copied to another folder...
svn path=/trunk/; revision=6551
2000-11-12 Federico Mena Quintero <federico@helixcode.com>
* gui/event-editor.c (clear_widgets): Block the signals as appropriate.
(fill_ending_date): Ditto.
(fill_recurrence_widgets): Ditto.
(recurrence_type_toggled_cb): Only sensitize the widgets and
preview the recurrence if the toggle button is active.
svn path=/trunk/; revision=6550
2000-11-12 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/e-card.c: Changed the mime type from "text/vcard"
to "text/x-vcard".
svn path=/trunk/; revision=6548