Commit Graph

291 Commits

Author SHA1 Message Date
956b6f95d0 When performing a wraparound, check to see if the first (or last depending
2002-01-08  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (message_list_select): When performing a
	wraparound, check to see if the first (or last depending on
	direction) message fits the selection criteria before telling
	etable to find the next/previous matching node.

	* mail-account-gui.c (mail_account_gui_new): When connecting to
	the transport username changed event, pass the gui->transport not
	the gui->source.

svn path=/trunk/; revision=15267
2002-01-08 22:47:21 +00:00
fb540f5bfb Makes the auto-undelete behavior when changing message flags a bit more
2001-12-20  Jon Trowbridge  <trow@ximian.com>

        * message-list.c (on_click): Makes the auto-undelete behavior when
        changing message flags a bit more sane. (Fixes #17634)

svn path=/trunk/; revision=15200
2001-12-21 03:39:10 +00:00
6642d01f14 Add ETable magic for our new "Needs Reply" column. (The next few entries
2001-12-11  Jon Trowbridge  <trow@ximian.com>

	* message-list.etspec: Add ETable magic for our new "Needs Reply"
	column.  (The next few entries are for bug #90)

	* message-list.h: Add COL_NEED_REPLY.

	* message-list.c: Move mail_need_reply_xpm to the end of
	states_pixmaps.
	(ml_duplicate_value): Handle COL_NEED_REPLY.
	(ml_free_value): Handle COL_NEED_REPLY.
	(ml_initialize_value): Handle COL_NEED_REPLY.
	(ml_value_is_empty): Handle COL_NEED_REPLY.  Added
	needs_reply_map[] array.
	(ml_value_to_string): Handle COL_NEED_REPLY.
	(ml_tree_value_at): Fix magic numbers, undoing my changes from the
	otehr day.  Add handler for COL_NEED_REPLY.
	(message_list_create_extras): Attach icons for COL_NEED_REPLY.
	(on_click): Undo my previous changes to display need-reply status
	in COL_MESSAGE_STATUS.  Add handing for COL_NEED_REPLY.

	* mail.h: Change mail_format_mime_message, mail_format_raw_message
	and the MailMimeHandlerFn typedef to take GtkHTML and
	GtkHTMLStream args, as per our changes in mail-format.c.

	* mail-format.c: Giant refactoring.  Remove the assumption
	throughout that we will always want to render into the GtkHTML
	object contained in the MailDisplay.  Instead, always pass in the
	GtkHTML and GtkHTMLStream that we want to write to.  Also, ignore
	theme work-arounds if the printing flag is set.  (This and what
	follows fixes bug #82)

	* mail-display.h: Remove GtkHTMLStream *stream from MailDisplay.
	We don't need it anymore.

	* mail-display.c (mail_display_render): Added.  Breaks the code
	that renders the message into the GtkHTML object out of
	mail_display_redisplay.
	(mail_display_redisplay): Call mail_display_render.
	(mail_display_init): Remove reference to ->stream.
	(mail_display_new): Remove reference to ->stream.

	* mail-callbacks.c (do_mail_print): Create a new GtkHTML to render
	our printed version into (via the new function
	mail_display_render.  Set the MailDisplay's printing flag to TRUE
	before we render, and set it back to FALSE afterwards.
	(do_mail_fetch_and_print): If the preview pane isn't open when we
	try to print, fetch the message before printing.
	(print_msg): Call do_mail_fetch_and_print.
	(print_preview_msg): Call do_mail_fetch_and_print.

	* folder-browser-ui.c: Remove "PrintMessage" and
	"PrintPreviewMessage" from message_pane_enables... these now work
	when the preview pane is closed.  Disable printing if multiple
	messages are selected.

svn path=/trunk/; revision=14981
2001-12-11 18:03:44 +00:00
b5e7713c8e Implements marking messages as "Need Reply".
Implements marking messages as "Need Reply".

2001-12-09  Jon Trowbridge  <trow@ximian.com>

	* mail-need-reply.xpm: Added a really, really ugly and
	awful icon to symbolize "message needs a reply".

	* Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm.

2001-12-09  Jon Trowbridge  <trow@ximian.com>

	* camel-folder-summary.c: Add "NeedsReply" to the flag_names array
	for CAMEL_MESSAGE_NEEDS_REPLY.

	* camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag.

2001-12-09  Jon Trowbridge  <trow@ximian.com>

	* vfoldertypes.xml: Add "Needs Reply" option to different status
	types.

	* filtertypes.xml: Add "Needs Reply" option to different status
	types.

2001-12-09  Jon Trowbridge  <trow@ximian.com>

	* message-list.c: #include "art/mail-need-reply.xpm".
	(ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon
	if the message needs reply.
	(message_list_create_extras): Adjust magic numbers to add new
	icon.
	(on_click): Changed to toggle between unread, read, and need reply
	when the status icon is clicked.

	* mail-callbacks.c (mark_as_needing_reply): Added.
	(mark_as_not_needing_reply): Added.  Add "set" value to struct
	post_send_data.
	(composer_sent_cb): Use both "flags" and "set" elements of
	post_send_data when setting message flags.
	(mail_reply): Clear "Needs Reply" flag when we actually reply to a
	message.

	* folder-browser.c: Changed flag values to be given by
	bit-shifting (1<<5) vs. base-ten (32).  Added
	CAN_MARK_DOESNT_NEED_REPLY flag.  Added "Mark as Needing Reply"
	and "Mark as Not Needing Reply" elements to context menu.
	(on_right_click): Hide "Mark as (Not) Needing Reply" context menu
	elements as appropriate.

svn path=/trunk/; revision=14946
2001-12-10 03:50:36 +00:00
289a09f501 If the path exists, make sure it's a regular file (or we can't possibly
2001-11-28  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (save_msg_ok): If the path exists, make sure
	it's a regular file (or we can't possibly save to it). Fix for
	#14127.

2001-11-28  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (message_list_select): Cleaned up the code.

	* mail-callbacks.c (previous_unread_msg): Pass wraparound as TRUE.

svn path=/trunk/; revision=14850
2001-12-03 19:57:19 +00:00
c07ade51d5 Reverted my hide_save_state patch.
2001-11-21  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c: Reverted my hide_save_state patch.

svn path=/trunk/; revision=14775
2001-11-21 20:44:26 +00:00
9ce31bbfa8 'n' shouldn't wrap if 'p' doesn't.
2001-11-20  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (message_list_select): 'n' shouldn't wrap if 'p'
	doesn't.

svn path=/trunk/; revision=14766
2001-11-20 21:33:15 +00:00
e0103cdf6e Save hide state. (message_list_hide_uids): Save hide state.
2001-11-16  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (message_list_hide_clear): Save hide state.
	(message_list_hide_uids): Save hide state.
	(message_list_hide_add): Save hide state.

	* mail-format.c (format_mime_part): Make sure the mime-type is
	non-NULL before passing it off to mail_lookup_handler().

svn path=/trunk/; revision=14734
2001-11-16 22:54:19 +00:00
404df6b3a1 Use GINT_TO_POINTER here for platforms where simply casting an int to void
2001-11-02  Christopher James Lahey  <clahey@ximian.com>

	* message-list.c (ml_tree_value_at): Use GINT_TO_POINTER here for
	platforms where simply casting an int to void * won't work.
	(build_flat_diff, main_folder_changed): Call
	e_tree_model_pre_change here.

svn path=/trunk/; revision=14581
2001-11-03 13:28:23 +00:00
0
093a00cf2b Argh!!! Dont free the async op data here, the async op is still running
2001-10-30    <NotZed@Ximian.com>

        * subscribe-dialog.c (fe_cancel_op_foreach): Argh!!! Dont free the
        async op data here, the async op is still running and will access
        it!  Just try to cancel it and mark it as cancelled (id == -1)
        (fe_done_subscribing): Only remove outselves from the hash table
        if we're not cancelled.  The handle should always be set here,
        since this code runs in the gui thread.

        * message-list.c (on_cursor_activated_idle): If nothing
        selected/cursor not activated, then select no message.

        * mail-folder-cache.c (update_1folder): Make the trash count
        optional on EVOLUTION_COUNT_TRASH, becuase some lusers are just
        too stupid to understand what its for.

        * component-factory.c (storage_xfer_folder): Return slightly
        better error codes for copying folders, since its not implemented
        yet.

        * mail-vfolder.c, mail-local.c, mail-folder-cache.c,
        message-list.c component-factory.c, mail-ops.c,
        subscribe-dialog.c, mail-session.c: d() out some debug printfs,
        w() out some warnings.

        * folder-browser-ui.c (folder_browser_ui_add_message): Fix typo,
        Resent->Resend.

svn path=/trunk/; revision=14412
2001-10-30 03:28:40 +00:00
5
cab9406217 So apparently the uicomp can just 'vanish' while we're using it. Joy. Take
2001-10-25    <NotZed@Ximian.com>

	* folder-browser-ui.c (fbui_sensitize_timeout): So apparently the
	uicomp can just 'vanish' while we're using it.  Joy.  Take care of
	that case here, fixes #13482.
	(fbui_sensitise_item): Check here too just for kicks.

	* mail-folder-cache.c (store_finalised): If we can't destroy our
	async event, then queue another one to do it.
	(store_finalised_finish): And handle it here, until we can, then
	free it.
	(mail_note_store): Queue an async event to get folderinfo, dont
	use mail_get_folderinfo.
	(update_folders_get): thread-async event to retrieve the
	folderinfo, and build it, then queues gui-async event to update
	the gui.
	(add_unmatched_info): Taken from mail-ops, adds unmatched if
	required.
	(add_vtrash_info): From mail-ops, add trash if required.
	(update_folders): Thread async event to update gui.
	(mail_note_store): Ref the store and storage when created.
	(update_1folder): Changed to assume we have info_lock, and store
	updates in an updates list.
	(setup_folder): Same.
	(folder_changed): Changed to call update_1folder directly.
	(real_folder_changed): Removed.
	(mail_note_folder): Changed to call update_1folder directly.
	(real_note_folder): Removed.
	(store_folder_subscribed): Call setup_folder directly.
	(real_folder_created): Removed.
	(real_flush_update): Function that actually does the updates in
	the gui thread.
	(mail_note_store): Go back to using mail_get_folderinfo.
	(update_folders): Fixed upf ro changed api's.
	(unset_folder_info): Changed to queue pending updates.
	(real_folder_deleted): Removed.
	(store_folder_unsubscribed): Do the removal work directly.
	(mail_note_store): Dont link to finalised event of store - we now
	ref it.
	(mail_note_store_remove): If we have any pending updates, clear
	them out.  Also cancel any pending folderinfo retrieve operations.
	(update_folders): Remove our update from the storeinfo list, if it
	still exists.
	(update_1folder): Make 'sent folder shows all counts' optional via
	an environmental variable EVOLUTION_COUNT_SENT for all those
	bloody whinging lusers out there.
	(mail_note_store_remove): Unref the storage when done.

	* mail-mt.c (mail_async_event_emit): If we're in main and have a
	gui task, set it to run via an idle function.
	(idle_async_event): Wrapper for calling do_async_event from idle
	function, and freeing the message when done.
	(idle_async_event): Call mail_msg_free not free on the finished
	message.

	* component-factory.c (mail_remove_storage): Destroy the storage
	async.
	(store_disconnect): This does the work.
	(free_storage): Un-note the store when we remove it, so the store
	noting code can unref things properly.
	(idle_quit): Return false when done, dont loop.

2001-10-24    <NotZed@Ximian.com>

	* component-factory.c (owner_set_cb): Setup an async_event
	handler.
	(idle_quit): Try to destroy the async_event, or keep dropping out
	if it can't (deadlock).

	* mail-mt.c (do_async_event): Set the threadid of the thread we're
	running in so we know its running/which thread its in.
	(mail_async_event_emit): Added new argument 'type' which is the
	type of thread to execute against, gui or another one.  Fixed all
	callers.
	(mail_async_event_destroy): Return -1 if this operation will fail
	(deadlock possibility).  If we're in the thread of the task
	we're going to wait for, then return a failure (since we will
	deadlock).
	(mail_async_event_emit): Chagned to use MailAsyncFunc type as the
	function type, which just takes 3 void args, change args to suit.

	* mail-folder-cache.c (mail_note_store): Record the pending update
	events in a pending list.  We should really be able to use an
	async event for this, but that doesn't return to the gui loop when
	done :-/
	(update_folders): Remove from pending update when done.

svn path=/trunk/; revision=14101
2001-10-25 21:21:33 +00:00
3
36894c7adc Dont do anything if we're destroyed #13021.
2001-10-23    <NotZed@Ximian.com>

        * message-list.c (regen_list_regened): Dont do anything if we're
        destroyed #13021.

svn path=/trunk/; revision=13963
2001-10-23 22:10:14 +00:00
700863d703 Check that the cursor_uid is non-NULL before emitting a "message_selected"
2001-10-16  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (on_cursor_activated_idle): Check that the
	cursor_uid is non-NULL before emitting a "message_selected"
	signal. Fixes bug #6015.

svn path=/trunk/; revision=13706
2001-10-16 21:35:13 +00:00
8c85ed61ba Added an async_event handler to store_info. (mail_note_store): Setup async
* mail-folder-cache.c: Added an async_event handler to store_info.
	(mail_note_store): Setup async event handler here.
	(store_finalised): Flush out async events here.
	(folder_changed): Use async event handler to emit event.
	(mail_note_folder): Chagned, do most of the work in the calling
	context, only do the corba stuff in main.
	(store_folder_subscribed): Use async event, and do more work locally.
	(store_folder_unsubscribed): Same.
	(store_folder_deleted): Call store_folder_unsubscribed if we have
	to do any work.
	(store_folder_created): Call store_folder_subscribed if we have to
	do any work.
	(store_folder_unsubscribed): Ref store while busy.
	(real_folder_deleted): And unref here.
	(store_folder_subscribed): Reg store while busy.
	(real_folder_created): Unref here.
	(mail_note_folder): Ref folder while busy.
	(real_note_folder): And unref here.
	(mail_note_folder): Hook onto folder_deleted event.
	(folder_deleted): Just mark this folder as no longer available.

	* mail-session.c (register_timeout): Use mail_call_main instead of
	proxy_event.
	(remove_timeout): Same here.

	* folder-browser.c (folder_changed): use the new mail_async_event
	stuff.
	(folder_changed_main): Remove old async event handling stuff.
	(FOLDER_BROWSER_LOCK/UNLOCK): Removed.
	(FolderBrowserPrivate): Removed too, sigh.

	* mail-mt.c (mail_async_event_new, mail_async_event_emit,
	mail_async_event_destroy): New functions to handle async events.
	(mail_proxy_event, mail_proxy_event_id): Removed old functions for
	async events.
	(do_call): Add suport for MAIL_CALL_p_pp.
	(mail_msg_free): Use mail_async_event instead of proxy_event.

	* message-list.c (message_changed): Promote the message_changed to
	a folder_changed and use main_folder_changed to process it.
	(main_message_changed): Remove.d
	(message_list_init): Setup async event handler.
	(message_list_destroy): Remove async handler.
	(folder_changed): Use async hanler to emit event in main loop.
	(message_changed): Same.

svn path=/trunk/; revision=13698
2001-10-16 19:13:31 +00:00
29175904b0 Revert the change to remove the Score column until Chris can fix ETable so
* message-list.c, message-list.h, message-list.etspec: Revert the
	change to remove the Score column until Chris can fix ETable so
	it's possible to remove a column without breaking everyone's
	exisiting settings.

svn path=/trunk/; revision=13646
2001-10-13 01:29:14 +00:00
fdd4274ddf removed Score stuff from the message-list
svn path=/trunk/; revision=13626
2001-10-12 20:40:48 +00:00
eb6606cf3f Update for folder_flags.
* mail-local.c (mlf_set_folder, mlf_unset_folder): Update for
	folder_flags.

	* folder-browser-ui.c (folder_browser_ui_add_list): Check
	CAMEL_FOLDER_IS_TRASH flag rather than checking
	CAMEL_IS_VTRASH_FOLDER.

	* folder-browser.c (folder_browser_toggle_hide_deleted): Likewise

	* message-list.c (message_list_set_folder): Likewise.
	(message_list_set_hidedeleted): Remove redundant trash check.

svn path=/trunk/; revision=13510
2001-10-09 03:08:29 +00:00
0209a69447 Turn on "uniform_row_height" argument.
2001-10-05  Christopher James Lahey  <clahey@ximian.com>

	* message-list.c (message_list_setup_etree): Turn on
	"uniform_row_height" argument.

svn path=/trunk/; revision=13442
2001-10-05 13:30:13 +00:00
cead076702 Check for the root node here.
2001-09-26  Christopher James Lahey  <clahey@ximian.com>

	* message-list.c (mlfe_callback): Check for the root node here.

svn path=/trunk/; revision=13177
2001-09-26 23:52:25 +00:00
0168b67f2a Use e_tree_selected_path_foreach instead of e_tree_selected_row_foreach
2001-09-26  Christopher James Lahey  <clahey@ximian.com>

	* message-list.c (message_list_foreach): Use
	e_tree_selected_path_foreach instead of
	e_tree_selected_row_foreach here.

svn path=/trunk/; revision=13145
2001-09-26 10:36:47 +00:00
39a677e75a Use e_strftime_fix_am_pm instead of strftime.
2001-09-24  Christopher James Lahey  <clahey@ximian.com>

	* message-list.c (filter_date): Use e_strftime_fix_am_pm instead
	of strftime.

svn path=/trunk/; revision=13104
2001-09-24 21:47:48 +00:00
9
73c74dd70d General cleanup of mail debug printfs.
2001-09-19    <NotZed@Ximian.com>

        * General cleanup of mail debug printfs.

        * mail-folder-cache.[ch]: Completely rewritten.  Removed all calls
        to the old code everywhere they were used.  Nuff said.

        * folder-browser.h: Add shell_view to folder_browser & api to set
        it.

        * folder-browser-factory.c (control_activate): Set the shell-view
        on the folder_browser.
        (control_deactivate): And clear it here.

        * folder-browser.c (folder_browser_destroy): Unhook from changed
        events on the folder before giving it away.
        (got_folder): Hook onto the folder-changed events.
        (folder_changed): Event hook proxy for folder_changed events
        (main_folder_changed): And the main code version.
        (update_status_bar): And the one that actually does the work.
        (on_selection_changed): Also call update_status_bar() to update
        the selection count.
        (folder_browser_set_shell_view): Implement function to set the
        shell_view on the folder_browser.
        (folder_browser_destroy): Release the shell_view here too.

        * mail-tools.c (mail_tool_uri_to_folder): Dont 'note' the new
        folder if its from a file: url, this is handled by hte local store
        (yeeruughck).

        * mail-local.c (mls_init):
        (free_info):
        (mls_finalise): Setup init/finalise funcs for the folderinfo hash.
        (local_storage_removed_folder_cb): re-enable.

2001-09-18    <NotZed@Ximian.com>

        * mail-local.c (MailLocalStore): Add a hash table to store
        uri<>folderinfo data.
        (mail_local_store_add_folder): Add a new folderinfo to our hash.
        (mail_local_store_remove_folder): Remove a folder by uri.
        (storage_listener_startup): Add this store to those monitored by
        the folder tree.

svn path=/trunk/; revision=12974
2001-09-19 08:29:13 +00:00
67b6c40da6 Updated required version of gal to 0.11.99.4.
2001-09-16  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Updated required version of gal to 0.11.99.4.

From calendar/ChangeLog:

2001-09-16  Christopher James Lahey  <clahey@ximian.com>

	* gui/dialogs/meeting-page.c (build_etable): Updated this to match
	the new ETableSimple interface.

From mail/ChangeLog:

2001-09-16  Christopher James Lahey  <clahey@ximian.com>

	* message-list.c (ml_get_node_by_id): Made save_id const here.

From shell/ChangeLog:

2001-09-16  Christopher James Lahey  <clahey@ximian.com>

	* e-storage-set-view.c (etree_get_node_by_id): Made save_id const
	here.

svn path=/trunk/; revision=12870
2001-09-17 04:00:31 +00:00
136c97b56d Use g_utf8_collate instead of g_strcasecmp for comparing names.
* message-list.c
(e_mail_address_compare): Use g_utf8_collate instead of g_strcasecmp
for comparing names.
(subject_compare): Replaced g_strcasecmp, isspace, var++ with UTF-8
counterparts.

svn path=/trunk/; revision=12541
2001-08-31 21:41:31 +00:00
e00591f008 Use the new e_mkdtemp function.
2001-08-24  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-display.c (launch_cb): Use the new e_mkdtemp function.

	* folder-browser.c (message_list_drag_data_get): Use the new
	e_mkdtemp function.

svn path=/trunk/; revision=12462
2001-08-24 22:41:24 +00:00
90823e758b Check to make sure we actually have drag data.
2001-08-23  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (destination_folder_handle_drop): Check to
	make sure we actually have drag data.

	* folder-browser.c (message_list_drag_data_received): Check to
	make sure we have valid data.

svn path=/trunk/; revision=12424
2001-08-23 21:34:32 +00:00
1decfd89d3 Don't sink the extras since _set_folder can get called more than once (on
2001-08-21  Peter Williams  <peterw@ximian.com>

	* message-list.c (message_list_set_folder): Don't sink the extras since
	_set_folder can get called more than once (on reconfigure.)
	(message_list_destroy): So just unref the extras here.

svn path=/trunk/; revision=12345
2001-08-21 18:42:24 +00:00
7da638d6aa Always remove the idle and return FALSE, instead of returning TRUE if more
2001-08-15  Peter Williams  <peterw@ximian.com>

	* message-list.c (on_cursor_activated_idle): Always remove the
	idle and return FALSE, instead of returning TRUE if more than one
	message is selected.

svn path=/trunk/; revision=12075
2001-08-15 21:28:59 +00:00
0c485b040f Use ALWAYS for scroll frame policy because ETable acts lame with
2001-08-15  Jason Leach  <jleach@ximian.com>

	* message-list.c (message_list_init): Use ALWAYS for scroll frame
	policy because ETable acts lame with AUTOMATIC.  Bug #6925.

svn path=/trunk/; revision=12061
2001-08-15 19:25:01 +00:00
21a13fbcb6 gets rid of those annoying operation-re-registered messages at last.
2001-08-15  Not Zed  <NotZed@Ximian.com>

        * mail-local.c (register_folder_register): Remove operation
        registration/etc.  Handled by mail-mt.c

        * message-list.c (regen_list_regen): Remove camel operation
        registration/etc.

svn path=/trunk/; revision=12041
2001-08-15 04:46:35 +00:00
b89002edea Do some g_assert() action. Make sure that the node passed in is non-NULL
2001-08-13  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (get_message_uid): Do some g_assert()
	action. Make sure that the node passed in is non-NULL and also
	make sure that the CamelMessageInfo gotten from the ETree is
	non-NULL.
	(get_message_info): Same here.

svn path=/trunk/; revision=11959
2001-08-13 20:41:50 +00:00
acdfbcd161 Since 'N' keypresses go through here now, use wrap-around selecting.
2001-08-10  Jason Leach  <jleach@ximian.com>

	* mail-callbacks.c (next_unread_msg): Since 'N' keypresses go
	through here now, use wrap-around selecting.
	(previous_unread_msg): Same for 'P' here.

	* message-list.c (on_cursor_activated_idle): Stop this idle timer
	when we have multiple items selected, this keeps it from loading
	and then marking the last item in your selection list as read.
	Bug #4693.

svn path=/trunk/; revision=11895
2001-08-10 20:02:05 +00:00
d9ae7c3b78 Free dbkey if we don't use it.
2001-08-10  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-config.c (mail_config_get_show_preview): Free dbkey if we
	don't use it.

	* folder-browser.c (on_right_click): Added a comment about leaking
	memory here, but we seem to not even use the 2 strings we
	strdup...is this code still under construction?

	* mail-ops.c (mail_send_message): Free the sent_folder_uri at the
	bottom of the function (ironically enough we were freeing it if we
	encountered an error but never free'd it on success :-)
	(get_folderinfo_got): Fixed a memory leak...this one would have
	gone away once we got rid of the debug g_warning though.

svn path=/trunk/; revision=11874
2001-08-10 05:24:43 +00:00
91cc2f264e Added a g_assert_not_reached() - I'm hoping this will help us track down
2001-08-09  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (mlfe_callback): Added a g_assert_not_reached() -
	I'm hoping this will help us track down the "can't delete message
	sometimes" (ie bug #6637 and friends) bugs that users have been
	reporting. If herein lies the problem, then we can expect some
	crashes and some good backtraces, hopefully.

svn path=/trunk/; revision=11854
2001-08-09 23:58:52 +00:00
8575c0d88d Fix inline documentation.
2001-08-09  Peter Williams  <peterw@ximian.com>

	* message-list.c (message_list_select): Fix inline documentation.

svn path=/trunk/; revision=11852
2001-08-09 23:47:40 +00:00
633656205f Dont double-register this operation, mail-mt will do it for us.
2001-08-08  Not Zed  <NotZed@Ximian.com>

        * mail-ops.c (send_mail_send): Dont double-register this
        operation, mail-mt will do it for us.
        (get_folderinfo_get):  "
        (get_folder_get): "
        (get_store_get): "
        (create_folder_get): "
        (remove_folder_get): "
        (sync_folder_sync): "
        (get_message_get): "

        * message-list.c (message_list_setup_etree): Free the etstate
        object after we're done using it.

svn path=/trunk/; revision=11813
2001-08-09 04:26:08 +00:00
c56fade286 Fix a minor glitch with how it started a backwards wraparound at the 2nd
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-06 16:31:25 +00:00
ed0295fd12 Add a @wraparound argument, so the 'n' and 'p' keypresses (or anything
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-04 18:33:50 +00:00
b751e3beb0 Added. Provide description for filter_folder_op. (fetch_mail_describe):
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-08-03 04:35:06 +00:00
cb4926026f Go back to calling mail_msg_free here. (mail_msg_destroy): Remove the
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-24 01:36:11 +00:00
400b130060 Set the vertical scrolling policy for the mail display to AUTOMATIC, only
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-19 21:45:06 +00:00
04d7e28a0b Some NULL protection for our strings: pgp_key, html_signature, smime_key.
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-09 18:00:53 +00:00
b6214e68c3 Check for new_uid != NULL here before strcmping.
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-08 03:44:24 +00:00
5304dda169 Made this handle being given a row that's outside the range better.
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-07 06:00:15 +00:00
2c8fa1b419 Mark the messages as Seen also. (folder_browser_class_init): Create an
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 19:49:27 +00:00
5616de5309 Select the very next message after deleting, not the next undeleted (it
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-06 18:02:01 +00:00
e1e2d6393d Added an MailAccountEditorNews, for NNTP configuratuion. Based on
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-07-03 02:56:39 +00:00
91cc026904 Update the copyrights, replacing Helix Code with Ximian and
helixcode.com with ximian.com all over the place.

svn path=/trunk/; revision=10440
2001-06-23 08:52:02 +00:00
7395fd6ba1 Implemented.
2001-06-15  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (destination_folder_handle_drop): Implemented.

	* message-list.c (message_list_construct): Don't connect to the
	DnD signals here.
	(message_list_drag_data_get): Removed.
	(add_uid): Removed.

	* folder-browser.c (my_folder_browser_init): Connect to DnD signals.
	(message_list_drag_data_get): Implemented.

svn path=/trunk/; revision=10257
2001-06-15 21:40:12 +00:00
da148869da (Fix bug #3211: Should undelete when flagging a delete message as
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-06-05 21:31:40 +00:00