2001-03-29 Kjartan Maraas <kmaraas@gnome.org>
* *.*: Cleaned up #includes. Remove unneccesary includes of
<gnome.h>, <gtk/gtk.h>, <bonobo.h> and replaced with more
fine grained headers where needed. Also marked a bunch of
strings for translations and added some missing prototypes.
svn path=/trunk/; revision=9025
2001-03-29 Not Zed <NotZed@Ximian.com>
* mail-local.c (init_trash): Create a vtrash folder, not a vee folder.
* folder-browser-factory.c (control_activate): Hook in the hide
deleted thingy.
Removed MessageHideDeleted menu stuff.
* message-list.c (message_list_set_hidedeleted): New function, to
set if we should hide deleted messages automatically/always.
(regen_list_regen): If we have hide deleted messages turned on,
then hide them.
(main_message_changed): Promote to a folder_changed event with a
change list, folder_changed has the optimisations to handle this
appropriately.
(main_folder_changed): IF we get changes events for
deleted/undeleted stuff, change to added/removed events, rebuild
if necessary.
(message_list_set_folder): Setup the default hidedeleted state to
be to hide everything unless it is in a vtrash folder.
svn path=/trunk/; revision=9009
2001-03-20 Christopher James Lahey <clahey@ximian.com>
* message-list.c (remove_node_diff, build_flat_diff): Remove the
node before freeing the data it points to.
svn path=/trunk/; revision=8841
2001-03-19 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped gal requirement to 0.5.99.8.
From addressbook/ChangeLog:
2001-03-19 Christopher James Lahey <clahey@ximian.com>
* Merged branch:
2001-03-14 Christopher James Lahey <clahey@ximian.com>
* gui/widgets/e-minicard-view.c: Call
e_selection_model_simple_insert_rows and
e_selection_model_simple_delete_rows instead of
e_selection_model_simple_insert_row and
e_selection_model_simple_delete_row.
End of branch
From mail/ChangeLog:
2001-03-19 Christopher James Lahey <clahey@ximian.com>
* Merged e-tree-rework-branch:
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* message-list.c: Added has_save_id and get_save_id methods.
* subscribe-dialog.c: Added arguments for
e_tree_memory_callbacks_new of get_save_id and has_save_id to
NULL.
2001-03-16 Christopher James Lahey <clahey@ximian.com>
* message-list.c: Added a call to
e_tree_memory_set_expanded_default to TRUE. Removed all calls to
set_expanded on nodes while the tree is frozen since this fails
miserably now.
2001-03-13 Christopher James Lahey <clahey@ximian.com>
* message-list.c (message_list_get_layout): Turned off draw-grid.
2001-03-09 Christopher James Lahey <clahey@ximian.com>
* folder-browser-factory.c, folder-browser.c, message-list.c,
message-list.h, subscribe-dialog.c, subscribe-dialog.h,
mail-callbacks.c: Converted these all to use ETree instead of
ETable.
End of branch
From shell/ChangeLog:
2001-03-19 Christopher James Lahey <clahey@ximian.com>
* Merged e-tree-rework-branch:
2001-03-19 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (etree_get_save_id): Made "root" detection
deal properly with removed nodes.
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* e-shell-view.c (e_shell_view_save_settings): Added some unused
code to implement saving of the expanded state.
* e-storage-set-view.c: Added has_save_id and get_save_id methods.
2001-03-13 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (ETREE_SPEC): Set draw-grid here to false.
2001-03-09 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c, e-storage-set-view.h: Chaned this to use
ETree instead of ETable.
End of branch
svn path=/trunk/; revision=8839
2001-03-17 Not Zed <NotZed@Ximian.com>
* mail-mt.c (mail_msg_free): Move the proxy event outside the lock
(otherwise we always deadlock).
* mail-local.c (reconfigure_clicked): Clear the message list
during update inside the folder thingy. This is a hell mess, need
to move the gui stuff to mail-callbacks and make this reconfigure
thing a more generic func.
* message-list.c (ml_value_to_string): Cleanup the logic to use
lookup tables.
(sort_uid_to_rows): Removed due to rewrite below.
(build_flat_diff): Changes for node/summary/etc changes. Also do
changed nodes too.
(clear_tree): Free the info reference for nodes in our hashtable.
(build_subtree): Ref the info reference in our hash/tree node.
(on_click): Dont free message info, since we just got our ref to
it.
(remove_node_diff): Free messageinfo off node.
(build_flat): Ref messageinfo.
(message_list_set_folder): Allow a NULL folder to be set -
i.e. clear the view.
(message_list_set_folder): Emit a no message sleeted signal.
(build_tree): Change cursor keeping stuff to work with new info.
Turned off BROKEN_ETREE - well maybe it'll work. Check for
duplicate messages displayed, etc.
2001-03-16 Not Zed <NotZed@Ximian.com>
* message-list.h: Added uid_nodemap; mapping of uid's to e-tree
nodes.
* message-list.c (build_flat): Changed to take a summary argument,
and to store node in node map, etc, and store info's in e-tree.
(build_subtree): Changed to store node in node map, and to store
info's in tree directly.
(ml_tree_value_at): Changed to get info directly from tree node,
removed allocated return value logic.
(ml_tree_value_at): Removed all "fake node" handling, no fake
nodes should ever exist.
(id_is_uid, id_is_subject, id_uid, id_subject): Removed macro's no
longer used.
(new_id_from_uid, new_id_from_subject): Removed no longer used.
(get_message_uid):
(get_message_info): Treat tree node data as messageinfo.
(message_list_select): Dont free the messageinfo, as its part of
our data, not retrieved from folder.
(message_list_drag_data_get): ditto.
(subtree_unread): Treat tree node data as messageinfo.
(subtree_size): ditto.
(subtree_earliest): ditto.
(clear_tree): Reset uid_nodemap on clear.
(save_node_state): tree nodes == messageinfo's.
(add_node_diff): ditto.
(remove_node_diff): ditto.
(main_folder_changed): use uid_nodemap to lookup changed nodes.
(main_message_changed): ditto.
svn path=/trunk/; revision=8775
2001-02-22 Not Zed <NotZed@Ximian.com>
* mail-local.c (local_storage_new_folder_cb): started hack for
progress reporting, which is currently to the console.
* mail-mt.c (set_stop): Set the stop button sensitivity.
(mail_msg_received): enable/disable stop button while we're
processing stuff in another thread.
* message-list.c (ml_tree_value_at): If our uid entry vanishes
before w'ere ready, then make a fake.
svn path=/trunk/; revision=8338
2001-02-15 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c: Wrapped the address compare functions in a
#ifdef
(address_compare): #ifdef the use of the smart address sorting
code and provide a #else for using g_strcasecmp().
svn path=/trunk/; revision=8242
2001-02-12 Not Zed <NotZed@Ximian.com>
* message-list.c (build_tree): if doing a full update, save the
cursor pos and restore it afterwards.
(on_cursor_activated_cmd): Copy the current_uid to a new string.
I dont know why this is required, but it is.
(message_list_destroy): Free the cursor_uid as we're done with it.
(build_flat): IF the current uid disappeared from the list, then
unset the message.
(build_tree): Likewise.
svn path=/trunk/; revision=8199
* mail-local.c: Updates for CamelStore changes, small memory leak
fixes.
(lookup_folder): Removed (and moved into the reconfigure code)
since this method no longer exists in CamelStore.
(do_reconfigure_folder, etc): Update the info in the
MailLocalStore after reconfiguring.
(mail_local_lookup_folder): Removed
* local-config.glade: fix padding of the label_format
* message-list.c (ml_tree_value_at): Don't keep message infos
reffed across calls, since this can cause badness after a
reconfigure. Instead, just strdup the needed values and free those
on the next call.
* mail-tools.c (mail_tool_get_root_of_store): Unused, remove.
(mail_tool_get_inbox): use camel_store_get_inbox.
* evolution-outlook-importer.c (load_file_fn):
* evolution-mbox-importer.c (load_file_fn): Use
mail_tool_get_local_inbox() instead of mail_importer_get_folder()
* mail-importer.c (mail_importer_get_folder): Removed
svn path=/trunk/; revision=8147
2001-02-02 Not Zed <NotZed@Ximian.com>
* mail-send-recv.c (mail_send_receive): Cleaned up so we dont add
an unecessary level of indenting.
* message-list.c (ml_tree_value_at): For collapsed tree nodes,
scan the collapses nodes for the unread and status information.
Since we dont really have fake nodes anymore.
2001-01-30 Ian Campbell <ijc25@cam.ac.uk>
* message-list.c: Add support for new icons for being
read/unread for fake root messages on threads.
svn path=/trunk/; revision=7942
2001-01-29 Not Zed <NotZed@Ximian.com>
* message-list.c (tree_equal): Debug function to compare the tree
we think we have, after an incremental update.
(build_tree): Check the tree after we've built it.
* mail-mt.c (mail_get_password): If we are being called from the
main gui thread, then just call the dialogue directly. Ideally we
dont want this anyway but lets handle the case nicely.
(mail_get_password): Try locking around the password request, to
single-queue any password requests.
(mail_msg_init): Push an exit handler to clean it up on completion.
* mail-send-recv.c (receive_update_got_store): New function called
when the store has been retrieved asynchronously.
(mail_send_receive): Get the store asynchronously. This was
causing problems where the password dialogue would try and be
called from the main thread via a message.
* mail-ops.c (mail_get_store): New function to get a store
(a)synchronously. More or less taken from subscribe-dialog, which
i will remove later.
(mail_scan_subfolders): Try running the scan subfolder thing
asynchronously, to help startup time. Not sure if this will work,
but presumably the shell can handle the folders appearing later
ok.
svn path=/trunk/; revision=7886
2001-01-26 Not Zed <NotZed@Ximian.com>
* message-list.c (build_tree): Define BROKEN_ETREE again, till we
get this stuff fixed better.
2001-01-25 Not Zed <NotZed@Ximian.com>
* folder-browser.c: Moved teh "sender contains" item to the end of
the list, so the gui doesn't suddenly change on everyone. Fixed
the sender-contains search string to be a valid s-exp (ha, didn't
test it even once eh ettore?!)
(search_save): Dont have the sender contains as the default case
(which well, never gets called anyway), oops i guess i should've
reviewed the patch a little more.
svn path=/trunk/; revision=7835
2001-01-25 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Made the message list pay attention to the
"cursor_activated" signal instead of the "cursor_change" signal.
svn path=/trunk/; revision=7812
2001-01-23 Not Zed <NotZed@Ximian.com>
* message-list.c (build_tree): Try turning off the BROKEN_ETREE
thing. It seems to work ok (better?) now, but if its still broken
i'll remove it again for the next release.
svn path=/trunk/; revision=7740
2001-01-22 Not Zed <NotZed@Ximian.com>
* component-factory.c (owner_set_cb): remove a warning with
conditional news compilation.
* mail-ops.h: Cleaned up the header list.
* folder-browser-factory.c: Replace the old get_send mail with the
new one (button).
* mail-ops.c (set_x_mailer):
(mail_load_evolution_rule_context):
(mail_do_fetch_mail):
(mail_do_filter_ondemand):
(mail_send_mail_old):
(mail_do_send_queue): All removed, (for) now lives in mail-send-recv.c.
(load_context):
(setup_filter_driver):
(filter_get_folder):
(mail_filter_folder):
(mail_fetch_mail):
(mail_update_subfolders):
(mail_send_mail):
(mail_send_queue): New equivalents of all these fundtions, moved
from mail-send-recv.c ...
(mail_filter_on_demand): Moved here too.
(mail_load_filter_context): Export this.
* mail-callbacks.c (apply_filters): Use the new
mail_filter_on_demand() call.
(send_receieve_mail): Use mail_send_receive to do the work. Add a
little error handling here that used to be elsewhere.
(send_queued_mail): Removed.
(fetch_mail): Removed.
(select_first_unread): #ifdef'd this out. Not sure if this still
makes sense, but it doesn't get run right now anyway.
(composer_postpone_cb): Fix the setting of message flags. You
dont need to get them first, ever.
* mail-send-recv.c (mail_send_message): Dont use
mail_tool_send_via_transport anymore (it does nothing useful).
* mail-tools.c (mail_tool_camel_lock_up): Turned into a noop.
(mail_tool_camel_lock_down): And here too.
(mail_tool_move_folder_contents): Removed from the code (hasn't
bene used for ages).
(mail_tool_send_via_transport): Removed, it doesn't save anything.
svn path=/trunk/; revision=7702
2001-01-21 Christopher James Lahey <clahey@helixcode.com>
* message-list.c (message_list_get_layout): Added
draw-focus="true" and selection-mode="browse" attributes to the
ETableSpecification.
(message_list_construct): Removed setting the "draw_focus"
argument since it doesn't exist any more.
svn path=/trunk/; revision=7674
2001-01-15 Christopher James Lahey <clahey@ximian.com>
* message-list.c, message-list.h: Change from using filters for
date and size to using e_cell_date and e_cell_size. Moved a bunch
of includes from the message-list.h to the message-list.c.
svn path=/trunk/; revision=7524
2001-01-15 Miguel de Icaza <miguel@ximian.com>
* mail-callbacks.c (configure_mail): Set the default button to
`Yes' here.
svn path=/trunk/; revision=7498
2001-01-12 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Changed filter_date and filter_size to match the
changes in gal.
svn path=/trunk/; revision=7466
2001-01-06 Christopher James Lahey <clahey@helixcode.com>
* message-list.c (message_list_select): Made it so that going to
the next or previous message in the list will at least move one
message, even if the current message matches the query. This
makes 'n' go to the next unread message, even if the current
message is unread.
svn path=/trunk/; revision=7288
2001-01-04 Not Zed <NotZed@HelixCode.com>
* mail-ops.c (mail_do_send_mail): Removed old implementation.
* folder-browser.c (do_message_selected): If we haven't got a real
uid, then clear the display instead.
* message-list.c (message_list_drag_data_get): Use new save
message function, and also wait for it to finish before
continuing.
(folder_changed):
(message_changed): Use mail_proxy_event instead of
mail_do_forward.
(mail_regen_list): New iplementation to replace the old.
: remove <gnome.h> from headers. Dont define timeit by default.
(main_folder_changed):
(message_list_set_folder):
(message_list_set_threaded):
(message_list_set_search):
(message_list_hide_add):
(message_list_hide_uids):
(message_list_hide_clear): Use mail_regen_list instead of
mail_do_regenerate_messagelist.
(mail_do_regenerate_messagelist): Removed the old stuff. No
functionality changed yet, just using different thread stuff.
* mail-callbacks.c (save_msg_ok): Use new save message function.
* component-factory.c (create_view):
(add_storage): Use mail_scan_subfolders to build the folder info.
(create_folder): Use new implementation with our own callback.
(owner_set_cb): Changed b ack to use mail_get_folder, but now wait
for it to finish. This will let any gui still run, but also gives
us the required synchronous operation.
(got_folder): Callback for when the folder has been opened.
* mail-ops.c (mail_get_folderinfo): New function to just get the
folder info in another thread.
(mail_scan_subfolders): New scan subfolder implementation that
uses mail_get_folderinfo.
(mail_do_scan_subfolders): Removed old implementation.
(mail_create_folder): Nerw implementation to create a folder, only.
(mail_do_create_folder): Removed old implementation.
(mail_save_messages): New implementation, fixes a couple of minor
problems, and now provides a return so it can be waited on. Also
check that the writes worked, etc.
(mail_do_save_messages): Remove previous implementation.
(mail_do_flag_messages): Removed, nothing uses it.
(mail_do_flag_messages): Removed, nothing uses it anymore.
(mail_get_folder): REturn the operation id, so callers can wait
for it.
(sync_folder_desc):
(expunge_folder_desc): Add describe functions so we know what its
doing.
(mail_send_mail): More generic implementation of sending mail.
* mail-mt.c (mail_msg_new): Lock around seq increment. And insert
each new message into a hash table of active messages.
(mail_msg_init): Init the active message table.
(mail_msg_free): Remove the message from the active message table.
(mail_msg_wait): New function, waits for a message to be
processed, by id.
(mail_msg_check_error): Dont display the error if it is a
user-cancelled operation.
(mail_proxy_event): new implementation of mail_op_forward_event.
Only real difference is it uses the new thread stuff, and you can
wait for it to finish if you want.
(mail_proxy_event): If we're already in the main thread, just call
the function.
svn path=/trunk/; revision=7246
2000-12-24 Christopher James Lahey <clahey@helixcode.com>
* message-list.c (filter_date): Changed this to format times in 12
hour time instead of 24 hour time.
svn path=/trunk/; revision=7160
2000-12-24 Christopher James Lahey <clahey@helixcode.com>
* message-list.c (filter_date): Changed this to do different
formatting of dates within the last week.
svn path=/trunk/; revision=7157
2000-12-23 Christopher James Lahey <clahey@helixcode.com>
* message-list.c (filter_date): Changed this to do different
formatting of dates based on the current time.
svn path=/trunk/; revision=7140
2000-12-23 Christopher James Lahey <clahey@helixcode.com>
* message-list.c (message_list_get_layout): Added titles to the
pixbuf columns.
svn path=/trunk/; revision=7139
2000-12-16 Not Zed <NotZed@HelixCode.com>
* message-list.c (build_tree): Always use the slow (full-update)
version of the tree update code, to get around a bug(?) in etree.
(build_flat): Likewise.
2000-12-15 Not Zed <NotZed@HelixCode.com>
* mail-display.c (write_data_to_file): Dont blindly convert all
parts to utf8, e.g. image/jpg. We only convert text/* parts, and
only then if required.
2000-12-14 Not Zed <NotZed@HelixCode.com>
* component-factory.c (create_view): cast over a warning.
* folder-browser-factory.c: Add verbs for hide functions.
* message-list.c (message_list_hide_clear):
(message_list_hide_uids):
(message_list_hide_add): Some api renaming.
(message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean
not to change the upper/lower range at all.
(hide_save_state): Save the state of the hide list to stable
storage.
(hide_load_state): Load the state of hte hide list.
(message_list_set_folder): Load/save the state of the folder if it
is changed/set.
(message_list_destroy): Save the state of the folder hide list
when done.
(save_tree_state): If we wrote out an empty state file, simply
remove it instead.
* folder-browser.c (on_right_click): Add some hide menus.
(hide_read): Hide read messages.
(hide_deleted): Hide deleted messages.
(hide_selected): Hide selected/current message.
(hide_none): Show all hidden messages.
(on_right_click): Lock around accesses to the message (inside
mlist_detect_magic).
(on_right_click): Free the mailing list name.
2000-12-13 Not Zed <NotZed@HelixCode.com>
* folder-browser.c (on_right_click): Add camel locking since we
call it directly. Whoever heard of a lock you 'down' to unlock?
* message-list.c (mail_do_regenerate_messagelist): Added hide
expression, messages to hide. Fixed all callers.
(do_regenerate_messagelist): IF we have a hide expression, search
and remove those from the uid list. If we have a hide range,
apply that afterwards.
(cleanup_regenerate_messagelist): Handle freeing the hide uid
temporary data, if required.
(message_list_destroy): Free hide data, also lock around all camel
object stuff.
(message_list_length): New function to get the number of messages
avaialble to be hidden by range.
(message_list_set_hide): Set the hide expression and range.
Issue: Should hiding be remembered?
(message_list_unhide_all): Turn off all hiding.
(message_list_hide_uids): Hide a list of uid's.
svn path=/trunk/; revision=7061
2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* folder-browser.c (my_folder_browser_init): Made the vertical
scrollbar always be there.
* message-list.c (message_list_get_layout): Changed the minimum
width of some of the pixmap column headers.
svn path=/trunk/; revision=6983
* message-list.c: Remove the never-once-used BonoboObject stuff
and make MessageList be a GtkWidget instead. Also, keep track of
the ETable directly rather than repeatedly calling
e_table_scrolled_get_table.
* folder-browser.c (folder_browser_destroy): Use gtk methods
rather than bonobo methods to destroy the message list.
(on_right_click, on_double_click): These are being attached to the
ETable directly now, so fix the first argument (which isn't being
used anyway, but...)
(folder_browser_gui_init): simplify now that MessageList itself is
a widget. Also use message_list->table rather than
e_table_scrolled_get_table.
* mail-local.c (mail_local_reconfigure_folder): Add "mail_" to
the beginning of this function name to match its prototype and the
other vague namespace conventions in the mailer.
* mail-callbacks.c (select_all, invert_selection): Use ml->table.
(configure_folder): s/local_reconfigure_folder/mail_&/
svn path=/trunk/; revision=6908
2000-12-09 Christopher James Lahey <clahey@helixcode.com>
* message-list.c (message_list_init): Change the "drawfocus"
argument on e_table_scrolled_get_table(etable) instead of on
etable (etable is an ETableScrolled.)
svn path=/trunk/; revision=6893
2000-12-08 Jeffrey Stedfast <fejj@helixcode.com>
* message-list.c (message_list_get_layout): Set the "Size" field
to sort using integer comparison instead of string.
(filter_size): New function to transform a integer size into a
more readable form.
(ml_value_to_string): Use filter_size.
(ml_value_is_empty): COL_SIZE is no longer a string, so handle
this as an integer.
(ml_initialize_value): Here too.
(ml_free_value): And here.
(ml_duplicate_value): And here too.
(message_list_create_extras): Setup the size etable cell.
svn path=/trunk/; revision=6876
2000-12-08 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Connect to signals on the ETable instead of the
ETableScrolled.
svn path=/trunk/; revision=6871
2000-12-07 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Got rid of code referencing the ETableScrolled
proxy functions. Changed the call to e_table_set_cursor_row to
send a model row instead of a view row.
svn path=/trunk/; revision=6852
2000-12-06 Jeffrey Stedfast <fejj@helixcode.com>
* mail-config.c (mail_config_folder_to_cachename): Use
e_filename_make_safe (which used to be e_str_make_safe).
* mail-display.c (make_safe_filename): And here.
* message-list.c (message_list_drag_data_get): Here too.
svn path=/trunk/; revision=6827
2000-11-30 Jeffrey Stedfast <fejj@helixcode.com>
* mail-ops.c (cleanup_fetch_mail): Don't display a dialog, instead
inform the user that there was no new mail by setting a status
message.
* message-list.c (message_list_drag_data_get): Use the new
e_str_make_safe function.
* mail-display.c (make_safe_filename): And here.
* mail-config.c (mail_config_folder_to_cachename): Here too.
svn path=/trunk/; revision=6745
2000-11-30 Not Zed <NotZed@HelixCode.com>
* mail-ops.c (cleanup_load_folder): Set threaded view before
setting the folder (cleanup some flash ons tartup).
* message-list.c (message_list_init): Initialise a mempool for uid
string storage.
(new_id_from_uid): Added messagelist arg, allocate strings from
uid_pool.
(new_id_from_subject): Same. Fixed all callers.
(remove_node_diff): Dont free uid here.
(build_flat_diff): Nor here.
(clear_tree): Flush the mempool, rather than freeing the id's
directly.
(free_tree_ids): Removed, no longer required.
(free_tree_ids): Likewise.
(message_list_init): Dont connect to the table destroy signal
anymore to free the uid table.
(message_list_destroy): Free the uid pool here.
(*): Use accessors for messageid stuff.
(content_is_attachment): Removed, no longer required.
(ml_tree_value_at): Get the attachment flag directly from the
summary.
(ml_tree_value_at): For 'fake' nodes, try and do something better
than "?" for from, to, and size.
(subtree_size): New function, add up the total size of a subtree.
(subtree_earliest): Get the earliest date from a subtree.
(ml_tree_value_at): Return earliest date sent/received for fake
nodes.
(ml_tree_value_at): Return something to mark a fake subject line
as a fake subject, although i dont know, i guess this buggers up
sorting ...
(subtree_size): Check the info node is still there.
(subtree_earliest): Same here.
(subtree_unread): And here. The info node might vanish if the
folder has changed/is changing and we try and redraw stuff while
its doing it.
(message_list_drag_data_get): Use accessors.
svn path=/trunk/; revision=6732
2000-11-29 Jeffrey Stedfast <fejj@helixcode.com>
* message-list.c (message_list_drag_data_get): Implement.
(message_list_init): Connect the d&d signal.
* mail-ops.c (do_save_messages): Use camel a bit more to help us
out. Don't create the file ourselves, treat it as a CamelFolder so
we don't have to worry about formatting.
svn path=/trunk/; revision=6728