Commit Graph

281 Commits

Author SHA1 Message Date
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
a40da8d570 Removed the etable spec string. (message_list_construct): Load the etable
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-28 01:24:41 +00:00
4f43db365b g_strdup the uid into the ml->cursor_uid.
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-24 21:54:34 +00:00
cb5a77f99e Make the message-list respect the "hide deleted messages" setting. Fixes
2001-05-23  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (message_list_set_folder): Make the message-list
	respect the "hide deleted messages" setting. Fixes bug #2248.

svn path=/trunk/; revision=9956
2001-05-24 01:36:10 +00:00
6ae1dd5045 Instead of calling message_list_select_uid() here, instead connect to the
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
2001-05-22 17:32:00 +00:00
7031a911d7 Functions to determine if a folderbrowser is one of the drafts, sent, or
* 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
2001-05-16 21:40:52 +00:00
dd04e750f2 Don't advance to the next undeleted message after "Delete"...
* 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
2001-05-10 16:16:06 +00:00
a8cdef7243 Connect to key_press_event on the GtkHTML widget. (etree_key): Only handle
* 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
2001-05-07 19:16:05 +00:00
08e6ede22a #include <camel/camel-file-utils.h>
* 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-05-03 20:54:07 +00:00
c82188ca4d Updated to use camel-file-util routines. (hide_save_1): Same.
2001-04-26  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (hide_load_state): Updated to use camel-file-util
	routines.
	(hide_save_1): Same.
	(hide_save_state): And here too.

svn path=/trunk/; revision=9601
2001-04-26 22:17:30 +00:00
373b8669f5 Use the message-browser widget rather than the mail-view window.
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
2001-04-23 21:16:00 +00:00