2001-07-06 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (folder_browser_copy): Mark the messages as
Seen also.
(folder_browser_class_init): Create an atom type for
X-Evolution-Message selection type.
(my_folder_browser_init): Add our multiple selection types, one of
which is the default string type.
* component-factory.c (destination_folder_handle_drop): Update to
use the new X-Evolution-Message type format.
* folder-browser.c (selection_get): Convert the
X-Evolution-Message clipboard type to whatever format the target
wants.
(message_list_drag_data_get): Update because the
X-Evolution-Message type changed.
(folder_browser_copy): Same.
(x_evolution_message_parse): And here too.
svn path=/trunk/; revision=10853
2001-07-06 Jason Leach <jleach@ximian.com>
* mail-callbacks.c (delete_msg): Select the very next message
after deleting, not the next undeleted (it can make things jump
around in annoying ways if you are deleting many messages), bug #4032.
* folder-browser.c: Forgot to commit the "Mark as Important" right
click menu item.
* message-list.c (message_list_set_folder): Setup the strikeout
column here (after we've gotten the folder) so we can disable
strikeouts for vtrash folders, part of bug #2224.
svn path=/trunk/; revision=10849
2001-07-02 Sam Creasey <sammy@oh.verio.com>
* mail-account-editor-news.c: Added an MailAccountEditorNews, for
NNTP configuratuion. Based on MailAccountEditor, but stripped.
* Makefile.am: added mail-account-editor-news.c and
mail-account-editor-news.h to SOURCES if ENABLE_NNTP is defined.
* mail-accounts.c (load_news): Moved this function, and fixed some
slight brokenness.
(news_edit): Added functional code using MailAccountEditorNews
(news_add): Added functional code using news_edit after
allocation.
* mail-config.glade: news_editor_window widget added. Used by
MailAccountEditorNews.
* mail-display.c (save_data_cb): Store the pathname used when
saving messages so that the next save box will default to the
previous path.
* message-browser.c (message_browser_new): add signal handler for
size_allocate on the message browser. Thus new windows are size
as they were last allocated.
(message_browser_size_allocate_cb): handler to store allocations.
* message-list.c (message_list_setup_etree): connect to the
info_changed signals for the state of the message_list->tree.
Save the folder state to disk, so that when additional
message_lists are created, they are consistant. e.g. the next
buttons do the same thing in the browser, and in the message
viewer after changing sorting options.
* subscribe-dialog.c (build_tree): freeze sc->folder model while
building the tree. Not doing so takes a very long time over 40000
newsgroups.
svn path=/trunk/; revision=10719
2001-06-05 Jason Leach <jleach@ximian.com>
(Fix bug #3211: Should undelete when flagging a delete message as
important)
* message-list.c (on_click): When flagging a message as
important, check to see if it's flagged as deleted, if so,
undelete it.
svn path=/trunk/; revision=10122
2001-05-27 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c: Removed the etable spec string.
(message_list_construct): Load the etable spec from a file.
* folder-browser-factory.c: Load the etable spec from the file,
not a string.
* Makefile.am: Add message-list.etspec to be installed.
* message-list.etspec: New file containing the ETable file
specification.
* mail-config.h: Prototype evolution_mail_config_get_type.
svn path=/trunk/; revision=10025
2001-05-24 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_select_uid): g_strdup the uid into
the ml->cursor_uid.
* message-browser.c (message_browser_forward_msg): Use the default
forward style.
svn path=/trunk/; revision=9969
2001-05-22 Jeffrey Stedfast <fejj@ximian.com>
* message-browser.c (message_browser_folder_loaded): Instead of
calling message_list_select_uid() here, instead connect to the
"message_list_loaded" signal since the message-list is not built
yet at this point.
(message_browser_message_list_built): Call
message_list_select_uid() here instead.
* message-list.c: Lets have a new signal, MESSAGE_LIST_BUILT, that
gets emitted when the message-list has finished being built by one
of the built_*() functions.
(message_list_class_init): Setup the signal stuff.
(regen_list_regened): Emit the signal here (should this perhaps be
moved into each of the build_*() functions instead?).
svn path=/trunk/; revision=9925
* folder-browser.c (folder_browser_is_drafts,
folder_browser_is_sent, folder_browser_is_outbox): Functions to
determine if a folderbrowser is one of the drafts, sent, or outbox
folders.
(got_folder): Pass TRUE for the "outgoing" flag to
message_list_set_folder if this is a Sent, Drafts, or Outbox
folder.
* message-list.c (message_list_set_folder): Take a flag saying
whether or not the folder is an "outgoing" folder.
(message_list_setup_etree): Ditto. Use that rather than a
hardcoded list of foldernames for deciding whether to swap From
and To in the default layout.
* mail-config.c (mail_config_folder_to_cachename): Make IMAP
folders have unique cachenames rather than only one per store, so
that IMAP Sent and Drafts folders don't get forced into having the
same layout as the INBOX.
* mail-callbacks.c: (is_sent_folder, is_drafts_folder): Gone.
Replaced with simpler folder_browser_is_* routines.
(edit_msg, resend_msg, open_msg): Use folder_browser_is_*
routines.
* mail-local.c (reconfigure_clicked): Update call to
message_list_set_folder.
svn path=/trunk/; revision=9857
* folder-browser.c (on_key_press): Don't advance to the next
undeleted message after "Delete"...
* mail-callbacks.c (delete_msg): ...instead, do it here, whether
the user used Delete, Alt+D, or the toolbar. (But only if they
only deleted a single message.)
* message-list.c (message_list_select): Don't clear the display on
failure.
(build_tree): Clear the display when the currently-selected
message stops existing and we don't have an obvious message to
select instead of it. (Eg, when deleting the last message with
"hide deleted messages" set, or expunging while a deleted message
is selected.)
svn path=/trunk/; revision=9744
* folder-browser.c (my_folder_browser_init): Connect to
key_press_event on the GtkHTML widget.
(etree_key): Only handle space/backspace here, pass the rest off
to on_key_press.
(on_key_press): Handle Delete/N/P/Menu in either MessageList or
MailDisplay.
* message-list.c (message_list_select): Grab focus if we don't
have it.
svn path=/trunk/; revision=9694
* message-list.c: #include <camel/camel-file-utils.h>
* mail-ops.c (get_folderinfo_get):
* subscribe-dialog.c (build_tree): Update for
camel_store_get_folder_info prototype change.
* mail-format.c (handle_text_plain_flowed): Improve more on the
fix from the other day: the first level of indentation adds blank
lines, but further levels don't...
svn path=/trunk/; revision=9660
2001-04-23 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (do_view_message): Use the message-browser
widget rather than the mail-view window.
* mail-view.c: Removed.
* folder-browser.c: Added a folder_loaded signal.
* message-browser.[c,h]: New window to solve all our message
browsing needs. This replaces mail-view.c.
* message-list.c (message_list_select_uid): New function needed by
the new message-browser window.
svn path=/trunk/; revision=9525
* session.c (request_callback): Don't need to dup the string: the
relevant gnome-dialog routine already does.
* message-list.c (message_list_destroy): Free the uid_nodemap.
(hide_save_state): Free the filename when we're done.
svn path=/trunk/; revision=9452
2001-04-13 Christopher James Lahey <clahey@ximian.com>
* message-list.c (on_cursor_activated_cmd): Only activate the
message if the cursor has moved.
svn path=/trunk/; revision=9298
2001-04-12 Christopher James Lahey <clahey@ximian.com>
* message-list.c (e_mail_address_new): Updated this function to be
a correct full ordering.
(ml_has_get_node_by_id, ml_get_node_by_id): Implemented these
functions.
(find_next_undeleted): Changed this to find next sorted undeleted
message. Also, changed it so that if the current message is not
deleted, it returns NULL.
(build_tree, build_flat): Changed these to only set the cursor if
the cursor is changed.
* subscribe-dialog.c: Changed this to pass NULL, NULL for
has_get_node_by_id and get_node_by_id.
svn path=/trunk/; revision=9290
2001-04-11 Christopher James Lahey <clahey@ximian.com>
* message-list.c (save_tree_state, message_list_setup_etree): Save
the expanded state using the ETree built in expanded state code.
svn path=/trunk/; revision=9229
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