2001-08-06 Jason Leach <jleach@ximian.com>
* message-list.c (message_list_select): Fix a minor glitch with
how it started a backwards wraparound at the 2nd to last message,
skipping the very last message.
svn path=/trunk/; revision=11698
2001-08-04 Jason Leach <jleach@ximian.com>
* message-list.c (message_list_select): Add a @wraparound
argument, so the 'n' and 'p' keypresses (or anything else that
wants to) can wrap around to find the next unread.
* folder-browser.c (on_key_press): Tell it to wrap around here.
* mail-callbacks.c (delete_msg): Don't wrap around here (or the
other callbacks in this file).
svn path=/trunk/; revision=11651
2001-08-02 Jon Trowbridge <trow@ximian.com>
* mail-ops.c (filter_folder_describe): Added. Provide
description for filter_folder_op.
(fetch_mail_describe): Added. Provide description for
fetch_mail_op.
* message-list.c (regen_list_describe): Added. Provide
description for regen_list_op.
* mail-config.c (check_service_describe): Added. Provide
description for check_service_op.
* folder-info.c (do_describe_info): Added. Provide description
for get_info_op.
svn path=/trunk/; revision=11604
2001-07-23 Not Zed <NotZed@Ximian.com>
* mail-mt.c (mail_msgport_replied): Go back to calling
mail_msg_free here.
(mail_msg_destroy): Remove the operation unregistration stuff.
(mail_msg_received): And put it here, so we unregister as soon as
the async part of the operation is complete. I thought about this
and we should be doing this anyway so we register/unregister
always in the same thread, although the camel_operation api
doesn't enforce it, this *is* what it expects.
* message-list.c (regen_list_regen): re-add reporting to
rebuilding the message list. Basically fixes#4931
svn path=/trunk/; revision=11332
2001-07-19 Jason Leach <jleach@ximian.com>
* mail-display.c (mail_display_new): Set the vertical scrolling
policy for the mail display to AUTOMATIC, only get a scrollbar if
the e-mail is longer than one frame.
* folder-browser.c (my_folder_browser_init): We were setting the
policy twice (and to two different things). Removed this one.
* message-list.c (message_list_init): Set the policy for the
message list scroll frame to be horizontal=NEVER,
vertical=AUTOMATIC (scrollbar only if you have >1 page of
messages).
svn path=/trunk/; revision=11239
2001-07-09 Peter Williams <peterw@ximian.com>
* mail-config.c (mail_config_write): Some NULL protection for our strings:
pgp_key, html_signature, smime_key. Probably we should do this for all
strings. Either that or change Bonobo Config.
* message-list.c (message_list_init): Explicitly initialize search to NULL.
Bug 3951 might to be due to a problem wrt this, and it can't hurt.
svn path=/trunk/; revision=10919
2001-07-07 Christopher James Lahey <clahey@ximian.com>
* message-list.c (on_cursor_activated_cmd): Check for new_uid !=
NULL here before strcmping.
svn path=/trunk/; revision=10889
2001-07-07 Christopher James Lahey <clahey@ximian.com>
* message-list.c (message_list_select): Made this handle being
given a row that's outside the range better.
svn path=/trunk/; revision=10881
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