Commit Graph

56 Commits

Author SHA1 Message Date
cf945fcde2 Prompt the user to find out if he/she wants to go to the next folder with
2002-02-19  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (confirm_goto_next_folder): Prompt the user to
	find out if he/she wants to go to the next folder with unread mail
	in it.
	(find_current_folder): Find a given CamelFolderInfo node based on
	a given uri.
	(find_next_folder_r): Recursively look for a CamelFOlderInfo node
	which has unread messages.
	(find_next_folder): Given a currently selected CamelFolderInfo
	node, look for the next node containing unread messages.
	(do_evil_kludgy_goto_next_folder_hack): Find the currently
	selected folder and then find the very next folder after it that
	contains unread messages and then select it via a CORBA call to
	the shell.
	(next_unread_msg): If we fail to find an unread message in the
	message-list, prompt the user to find out if we should jump to the
	next fodler containing unread messages. If so, call
	do_evil_kludgy_goto_next_folder_hack().

	* message-list.c (message_list_select): Return a boolean value
	based on whether the call was successfull or not.

	* mail-config.c (mail_config_get_confirm_goto_next_folder):
	(mail_config_set_confirm_goto_next_folder):
	(mail_config_get_goto_next_folder):
	(mail_config_set_goto_next_folder): All new functions, yay.
	(config_read): Read in the confirm_goto_next_folder and
	goto_next_folder config options.
	(mail_config_write_on_exit): Same the options here.

svn path=/trunk/; revision=15770
2002-02-20 03:51:20 +00:00
b7ac37f6b1 Bumped the required version of gal.
2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Bumped the required version of gal.

From addressbook/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* gui/widgets/e-addressbook-view.c
	(e_addressbook_view_setup_menus): Changed this function to use the
	new GalViewMenus which takes a GalViewInstance, instead of a
	GalViewCollection.

From calendar/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c
	(gnome_calendar_setup_view_menus): Made these use the new
	GalViewMenus stuff.

From mail/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* folder-browser.c, folder-browser.h, folder-browser-ui.c,
	folder-browser-ui.h
	(folder_browser_ui_setup_view_menus,
	folder_browser_ui_discard_view_menus): Changed this to use the new
	GalViewMenus stuff.  Made these exported functions.

	* mail-callbacks.c, message-browser.c: Changed these to not pass
	the now removed row parameter to message_list_select.

	* mail-config.c, mail-config.h (mail_config_folder_to_safe_url):
	Refactored this out of mail_config_folder_to_cachename.

	* message-list.c, message-list.h (message_list_select): Removed
	the row argument.  Changed this to use the new function in ETree
	for finding the next cursor row that matches a test.
	(message_list_construct): Handle a failed construction of the
	ETree here.
	(message_list_setup_etree, save_tree_state): Don't load or save
	the header state.  folder-browser-ui.c deals with this now.

From views/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* addressbook/galview.xml, calendar/galview.xml, mail/galview.xml,
	tasks/galview.xml: Added default-view parameters.

	* mail/As_Sent_Folder.galview: New galview.

	* mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder
	galview.

From widgets/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* menus/gal-view-menus.c, menus/gal-view-menus.h
	(gal_view_menus_new): Made this take a GalViewInstance instead of
	a GalViewCollection.  Reworked most of this to utilize the
	interfaces provided by GalViewInstance.

svn path=/trunk/; revision=15592
2002-02-07 11:24:08 +00:00
60dcd52057 Fixed a warning by #if 0ing out this function.
2001-10-29  Christopher James Lahey  <clahey@ximian.com>

	* e-searching-tokenizer.c (search_info_set_match_size_increase):
	Fixed a warning by #if 0ing out this function.

	* folder-browser.c, folder-browser.h (on_selection_changed):
	Update status bar in an idle call.  Fixes Ximian bug #13929.

	* mail-folder-cache.c (folder_renamed, store_folder_renamed):
	Fixed some warnings here.

svn path=/trunk/; revision=14372
2001-10-29 22:41:35 +00:00
9
fedf164cb9 Copy the folder's full_name before trying to use it to rename.
2001-10-29    <NotZed@Ximian.com>

        * mail-vfolder.c (rule_changed): Copy the folder's full_name
        before trying to use it to rename.
        (vfolder_edit_rule): Set 'orig' to be a reference of the original
        rule.
        (edit_rule_clicked): Dont lookup orig by name, copy it over
        instead.

        * folder-browser.c (got_folder): oops, emit signal before
        unreffing object, incase we got killded during getting folder.
        (got_folder): Reset get_id.
        (folder_browser_new): Set get_id of the get_folder task.
        (folder_browser_init): Init get_id.
        (folder_browser_destroy): IF we have outstanding 'get folder' op,
        cancel it.

svn path=/trunk/; revision=14323
2001-10-29 05:06:28 +00:00
4
e4fa983be5 all this crap just to make the print icon desensitive at the right time.
fix for #10346

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

        * message-browser.c (message_browser_message_loaded): Call
        ui_message_loaded when we are.

        * folder-browser-factory.c (control_activate): Freeze/thaw around
        all updates.
        (control_deactivate): Freeze/thaw around all updates.

        * folder-browser.c (folder_browser_init): Setup a hashtable to
        keep track of *our* sensitise state, so we can optimise pushes to
        bonobo.
        (folder_browser_finalise): Free hash here.
        (folder_browser_set_message_preview): Call a ui_message_loaded,
        even though it isn't, so it updates sensitivities right.
        (done_message_selected): Call ui_message_loaded when it really is,
        rather than the very fucked up idea of reversing the loaded_uid
        check.

        * folder-browser-ui.c (folder_browser_ui_set_selection_state):
        Dont enable the message-enabled options if the message display is
        hidden, e.g. print, view headers, etc.
        (folder_browser_ui_rm_all): Forget sensitise state.
        (fbui_sensitise_item): Sensitise items via a current-state table,
        so we dont have to do bonobo calls every time.
        (folder_browser_setup_property_menu): Call sensitise_item.
        (folder_browser_ui_add_message):
        (folder_browser_ui_add_global): Leave current set_prop "sensitive"
        for the stop button, so it doesn't get lost by the stuff in
        mail-mt.c
        (fbui_real_sensitize_items): Removed.
        (fbui_sensitize_timeout): Cleaned up, use sensitise_item to do
        work.
        (folder_browser_ui_message_loaded): Setup sensitive based on
        preview_shown too.
        (folder_browser_ui_set_selection_state): And here too.

svn path=/trunk/; revision=13972
2001-10-24 02:56:06 +00:00
c1c8b61ad7 fixed a logic mistake from my last commit
svn path=/trunk/; revision=13953
2001-10-23 20:44:23 +00:00
445801489e Make sure the fb and it's message-list exist. (reply_to_list): same.
2001-10-23  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (reply_to_sender): Make sure the fb and it's
	message-list exist.
	(reply_to_list): same.
	(reply_to_all): And here...
	(forward_message): Here too.
	(forward_attached): Again here.
	(transfer_msg): Here too.
	(apply_filters): Same.
	(select_all): Yet again here...
	(select_thread): And here.
	(invert_selection): Same.
	(flag_messages): Here too.
	(mark_as_unseen): and here...
	(mark_all_as_seen): ...
	(zoom_in):
	(zoom_out):
	(zoom_reset):
	(search_msg):
	(load_images):
	(save_msg):
	(next_msg):
	(next_flagged_msg):
	(next_unread_msg):
	(previous_msg):
	(previous_unread_msg):
	(expunge_folder):
	(configure_folder):
	(empty_trash):

svn path=/trunk/; revision=13950
2001-10-23 20:02:53 +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
6
41802db263 New function to return the id of the currently executing proxied event.
2001-10-16    <NotZed@Ximian.com>

	* mail-mt.c (mail_proxy_event_id): New function to return the id
	of the currently executing proxied event.

	* folder-browser.h: Added private field.

	* folder-browser.c (folder_changed): Keep track of tasks
	outstanding in the tasks list, locked access.
	(FOLDER_BROWSER_LOCK, UNLOCK): Macros to lock the folder browser
	for poking about in diff threads.
	(folder_browser_finalise): Wait for any outstanding takss to
	finish before cleaning ourself up.
	(folder_browser_destroy): Move the seen_id handling to finalise,
	also add a loading_id handling code.
	(main_folder_changed): Remove our running task when done.

svn path=/trunk/; revision=13695
2001-10-16 17:34:59 +00:00
cd28010b32 Create a chaqrset picker submenu in the View menu.
2001-10-09  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser-ui.c (folder_browser_ui_add_message): Create a
	chaqrset picker submenu in the View menu.

	* mail-format.c (mail_format_raw_message): Pass the mail-display
	to get_data_wrapper_text.
	(get_data_wrapper_text): Use the user's override charset if one is
	provided, otherwise user the user's default charset.
	(handle_text_plain): Pass along the mail-display to
	get_data_wrapper_text.
	(handle_application_pgp): Same.
	(handle_text_enriched): Here too.
	(mail_get_message_body): Pass NULL as the mail-display to
	get_data_wrapper_text since we don't have access to a
	mail-display.

	* mail-display.c (mail_display_set_charset): New function to set a
	charset on the maildisplay. Once set, the message is redisplayed
	using the new charset.
	(mail_display_destroy): Free the charset.

	* folder-browser.c (folder_browser_charset_changed): New callback
	for when a user overrides the message charset.

svn path=/trunk/; revision=13530
2001-10-09 22:01:49 +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
e73fea5ecf Merged into folder_browser_new: nothing ever changes the URI of an
* folder-browser.c (folder_browser_set_uri): Merged into
	folder_browser_new: nothing ever changes the URI of an existing
	folder browser any more.
	(folder_browser_new): Make this take a uri argument and do the
	work folder_browser_set_uri used to do, except that we set fb->uri
	right away, so that if the folder browser's control is activated
	before got_folder() gets called, then folder_browser_ui_add_list()
	will have access to the correct uri for purposes of setting
	ViewThreaded, etc. Fixes #4913.
	(got_folder): Don't set fb->uri here since it will already have
	been set. Don't call message_list_set_threaded, since it should be
	a noop now (and if it's not, it would make the message list not
	match the menu item).

	* folder-browser-ui.c (folder_browser_ui_add_list): Remove some
	code that was failing to work around the problems above.

	* message-browser.c (message_browser_new): Pass uri to
	folder_browser_new, remove call to set_uri.

	* folder-browser-factory.c (folder_browser_factory_new_control):
	Likewise. Also fix a s/destroy/unref/ in an error cleanup.

svn path=/trunk/; revision=12954
2001-09-18 21:12:37 +00:00
0
c7e1b2cbb0 Dynamically create the folder type list from camel. (reconfigure_clicked):
2001-09-10    <NotZed@Ximian.com>

        * mail-local.c (mail_local_reconfigure_folder): Dynamically create
        the folder type list from camel.
        (reconfigure_clicked): And change code to handle changes.

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

        * merged mail_local patch from peterw.  Many changes.

svn path=/trunk/; revision=12759
2001-09-11 00:32:20 +00:00
ee5591ab84 Rename to fbui_real_sensitize_items. Now we queue a change and set up a
2001-08-21  Peter Williams  <peterw@ximian.com>

	* folder-browser-ui.c (fbui_sensitize_items): Rename to
	fbui_real_sensitize_items. Now we queue a change and set up a timeout,
	making sure weed out redundant changes, fixing flicker.
	(fbui_sensitize_timeout): New function. The timeout.
	(fbui_real_sensitize_items): Semi-new function. Rename of old
	fbui_sensitize_items.
	(folder_browser_ui_set_selection_state): Pass the FB instead of only
	the UIC to sensitize_items.
	(folder_browser_ui_message_loaded): Same.

	* folder-browser.c (folder_browser_destroy): Kill the new timeout if
	it is registered.

	* folder-browser.h: Add some members to FolderBrowser for keeping
	track of the queue of changes.

svn path=/trunk/; revision=12343
2001-08-21 16:00:41 +00:00
866a960fd9 Fix bug #215... desensitize menu items based on the number of selected
2001-08-09  Peter Williams  <peterw@ximian.com>

	Fix bug #215... desensitize menu items based on the number of
	selected messages (and whether there's a message in the pane)

	* folder-browser-ui.c (folder_browser_ui_add_message): Sensitize
	the menu items appropriately based on the old state.
	(fbui_sensitize_items): New function. Set the sensitivity of a
	list of commands.
	(folder_browser_ui_set_selection_state): New function. Move the FB
	to a new state of selected-ness, and sensitize menu items
	appropriately.
	(folder_browser_ui_message_loaded): New function. When notified
	that a message has been loaded, sensitize some menu items.

	* folder-browser-ui.h: Prototype new functions.

	* folder-browser.h: New enumeration,
	FolderBrowserSelectionState, that records the previous state
	of the selection (_NONE, _SINGLE, _MULTIPLE).

	* folder-browser.c (got_folder): If the component is set,
	set our selection state to _NONE, because that's the default
	state of the ETree.
	(on_selection_changed): When the number of selected messages
	is updated, notify the FBUI code of our new state.
	(folder_browser_gui_init): Hook up to the selection_changed
	signal and default to the _NONE selection state.
	(done_message_selected): Notify when a message is loaded.

2001-08-08  Peter Williams  <peterw@ximian.com>

	* mail-folder-cache.c: Display how many messages are selected,
	too.
	(make_folder_status): If multiple messages are selected, add that
	to the string (the 0 and 1 cases are boring)
	(selection_changed): New function, update the selected count.
	(mail_folder_cache_note_fb): Connect to the selection_changed
	signal.

svn path=/trunk/; revision=12012
2001-08-14 15:26:00 +00:00
53996fb559 Use our own display_style member instead of the global setting.
2001-07-16  Peter Williams  <peterw@ximian.com>

	* mail-display.c (mail_display_redisplay): Use our own display_style
	member instead of the global setting.
	(mail_display_init): Initialize display_style.

	* mail-display.h: Include "mail-config.h" and add a display_style member.

	* mail-format.c (write_headers): Look at the MailDisplay's display_style
	instead of using the full_headers data.

	* folder-browser.c (folder_browser_set_message_display_style): Set
	the MailDisplay's display style as well as the global display
	style.
	(my_folder_browser_init): Don't save preference changes by default. (This
	is only observered wrt. the message display style but should apply to other
	items.)

	* folder-browser-factory.c (folder_browser_factory_new_control): Set this
	FB to save the preferences set in it.

	* folder-browser-ui.c (folder_browser_ui_add_message): Read our display's
	state instead of the global setting.

svn path=/trunk/; revision=11131
2001-07-16 18:32:10 +00:00
205fef856f Fixed Cut/Copy/Paste to work - it turns out I couldn't share a single
2001-06-27  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c: Fixed Cut/Copy/Paste to work - it turns out I
	couldn't share a single GtkInvisible between all the
	FolderBrowser's after all.

svn path=/trunk/; revision=10536
2001-06-27 19:18:50 +00:00
57db15334b sync folders after we've gotten mail
2001-06-25  jacob berkman  <jacob@ximian.com>

	* mail-send-recv.c (free_send_data): sync folders after we've
	gotten mail

	* folder-browser-factory.c (control_activate): set the ui
	component on the folder browser
	(control_activate): update the view preview item
	(control_deactivate): don't sync the folder here
	(control_deactivate): unset the ui component of the folder browser

	* mail-callbacks.c (toggle_flags): stuff from jleach to add an
	importance keybinding
	(mark_as_important): ditto
	(toggle_as_important): again

	* mail-config.c (mail_config_get_show_preview):
	(mail_config_set_show_preview): basically a copy of
	get_thread_list() but for the preview pane

	* folder-browser.c (folder_browser_destroy): unref the our ui
	component
	(folder_browser_set_ui_component): new function for setting the ui
	component
	(save_cursor_pos):
	(set_cursor_pos): try to show the selected row when the preview
	pane is shown
	(folder_browser_set_message_preview): implement
	(folder_browser_toggle_preview): toggle the preview (duh)
	(on_key_press): add keybindings for marking as important (!), and
	hiding the preview pane (q)
	(etree_key): clean up a little bit, and make enter either show the
	preview pane or open the message
	(fb_resize_cb): only save the paned size if the preview is alread
	shown
	(folder_browser_gui_init): pass ourselves to fb_resize_cb
	(on_message_selected): only add the timeout if the preview is
	shown

svn path=/trunk/; revision=10491
2001-06-25 21:12:10 +00:00
b655dc216e Unref the invisible window that we use for slections.
2001-06-25  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c (folder_browser_destroy): Unref the invisible
	window that we use for slections.
	(folder_browser_class_init): Init the clipboard_atam type.
	(selection_get): New
	(selection_clear_event): New
	(selection_received): New
	(folder_browser_copy): New function to copy the message-list
	selection.
	(folder_browser_cut): New function to cut the message-list
	selection.
	(folder_browser_paste): New function to paste the message-list
	selection.
	(my_folder_browser_init): Initialize `invisible` if it's NULL else
	ref it - also set some signals on it.

	* folder-browser-factory.c: Added verbs for cut/copy/paste.

svn path=/trunk/; revision=10489
2001-06-25 19:48:02 +00:00
1fb67eaca4 Updated to reflect changes to mail_config_[g,s]et_thread_list().
2001-06-14  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c (got_folder): Updated to reflect changes to
	mail_config_[g,s]et_thread_list().
	(folder_browser_toggle_threads): Same.

	* folder-browser-factory.c (control_activate): Updated to reflect
	changes to mail_config_[g,s]et_thread_list().

	* mail-config.c (mail_config_write_on_exit): Do cleanup when we're
	done.
	(mail_config_set_thread_list): Send in a URI so we can save the
	state on a per-folder basis.
	(mail_config_get_thread_list): Send in a URI so we can retrieve
	the state on a per-folder basis.

	* component-factory.c: Setup the accepted_dnd_types. Also added
	skeleton code for DnD.

svn path=/trunk/; revision=10240
2001-06-14 22:08:54 +00:00
06ebf6a67e Added fields for the GalViewMenus and GalViewCollection, since we need to
2001-06-01  Federico Mena Quintero  <federico@ximian.com>

	* folder-browser.h (FolderBrowser): Added fields for the
	GalViewMenus and GalViewCollection, since we need to keep them
	around while the component is active.

	* folder-browser-factory.c (folder_browser_setup_view_menus): Plug
	leaks; unref the spec and factory.  Set the view collection and
	the view menus on the FolderBrowser object.
	(folder_browser_discard_view_menus): New function.
	(control_deactivate): Discard the menus.

	* folder-browser.c (folder_browser_destroy): Destroy the view
	collection and the view menus.

svn path=/trunk/; revision=10086
2001-06-01 23:28:13 +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
dadc54fa98 Load http images if the user has force-loaded images too.
* mail-display.c (on_url_requested): Load http images if the user
	has force-loaded images too.
	(mail_display_redisplay): Update for normal/headers/source changes.
	(mail_display_load_images): New. Force HTTP image loading for the
	current message.

	* mail-config.c (mail_config_get_message_display_style,
	mail_config_set_message_display_style): Updated and renamed from
	mail_config_{get,set}_view_source

	* mail-callbacks.c (load_images): New.

	* folder-browser.c (folder_browser_set_message_display_style):
	Renamed and updated from folder_browser_toggle_view_source.

	* folder-browser-factory.c (verbs): Add ViewLoadImages.
	(control_activate): Update for normal/headers/source change to
	radio group.

svn path=/trunk/; revision=9820
2001-05-15 18:45:42 +00:00
b61b14b324 Added a new signal, "message_loaded" that gets emitted when the message
2001-04-24  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c: Added a new signal, "message_loaded" that gets
	emitted when the message has been loaded and set on the
	mail_display.
	(folder_browser_class_init): Define the "message_loaded" signal
	stuff.
	(done_message_selected): Emit the "message_loaded" signal here.

	* message-browser.c (message_browser_next_msg): Do our own
	message-list manipulation. We want the next message, not the next
	unread message.
	(message_browser_prev_msg): Same here but for previous.
	(message_browser_new): Connect to the folder browser's
	"message_loaded" signal.
	(message_browser_folder_loaded): Don't connect to the
	message-list's "message_selected" signal.
	(message_browser_message_loaded): Nw callback which replaces the
	old message_browser_message_selected callback's functionality.

svn path=/trunk/; revision=9551
2001-04-24 20:56:56 +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
130017e157 Merge from evolution-0-10 to evolution-0-10-merge-0 into head.
2001-04-05  Not Zed  <NotZed@Ximian.com>

	* Merge from evolution-0-10 to evolution-0-10-merge-0 into head.

svn path=/trunk/; revision=9193
2001-04-05 02:06:26 +00:00
57574f0be3 Cleaned up #includes. Remove unneccesary includes of <gnome.h>,
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 20:53:17 +00:00
f01589262c Fixes for changes to search bar. (search_save): Removed. (search_full):
2001-03-01  Not Zed  <NotZed@Ximian.com>

        * folder-browser.c (folder_browser_search_menu_activated): Fixes
        for changes to search bar.
        (search_save): Removed.
        (search_full): Removed.
        (search_full_clicked): Removed.
        (folder_browser_search_option_items[]): Removed.
        (folder_browser_search_query_changed): Changed for search bar
        changes.
        (folder_browser_clear_search): Removed.

        * mail-vfolder.c (vfolder_clone_rule): New function to clone a
        filter/search rule into a matching vfolder rule.

        * mail-send-recv.c (mail_receive_uri): Setup a timeout for status
        updates.
        (build_dialogue): Setup timeout id for status updates.
        (operation_status_timeout): New function to set the status via a
        timeout.
        (receive_done): Remove the timeout handler if we need to.
        (operation_status):
        (receive_status): Just update the info, and let the timeout
        handler update the gui.
        (do_free_status):
        (do_show_status): Removed gui thread status message processing.

2001-02-28  Not Zed  <NotZed@Ximian.com>

        * folder-browser.c (folder_browser_config_search): New function to
        configure the FilterRule for the search mechanism.

2001-02-27  Not Zed  <NotZed@Ximian.com>

        * folder-browser.c (folder_browser_gui_init): Setup the search bar
        as a filterbar.
        (got_folder): Set the whole search bar sensitive or not based on
        the search capability of the folder.

        * folder-browser.h: Changed to use efilterbar instead of esearchbar.

svn path=/trunk/; revision=8438
2001-03-01 00:58:16 +00:00
5c9c2f33b9 vfolder/filter on mailing list. Doesn't acutally work right yet.
* mail-vfolder.c (vfolder_gui_add_from_mlist): Rule to add mlist
	vfolder.

	* mail-autofilter.c (filter_gui_add_for_mailing_list): Removed.
	(rule_from_mlist): Build a generic match rule from an mlist.
	(vfolder_rule_from_mlist): Setup the vfolder rule for an mlist.
	(filter_rule_from_mlist): Setup a filter rule fro an mlist.
	(filter_gui_add_from_mlist): GUI thingy to do the work.

	* folder-browser.c (on_right_click): Added vfolder on mailing list
	to filter menu.
	(on_right_click): Use header_raw_check_mailign_list instead of
	mlist magic to get the mailing list name.
	(filter_mlist): Changed to use new add_from_mlist() call.
	(vfolder_mlist): New function for vfolder from mlist.

svn path=/trunk/; revision=8358
2001-02-23 00:31:23 +00:00
7878a71545 Moved ESearchBar from filter/ to widgets/misc/, a more appropriate home.
Moved ESearchBar from filter/ to widgets/misc/, a more appropriate
 home.  Bug #1060.

svn path=/trunk/; revision=7536
2001-01-16 17:50:44 +00:00
495030c715 Connect to "message_changed" on the folder if it's on a remote storage.
* folder-browser.c (got_folder): Connect to "message_changed" on
	the folder if it's on a remote storage.
	(update_unread_count): Update the folder unread count / highlight
	in the shell when the unread message count changes

svn path=/trunk/; revision=7249
2001-01-04 17:08:40 +00:00
a16344fff4 Fix for mail_get_message change, use queue thread.
2001-01-02  Not Zed  <NotZed@HelixCode.com>

	* mail-callbacks.c (view_msg): Fix for mail_get_message change,
	use queue thread.

	* folder-browser.c (done_message_selected): Fix mail_Get_message
	calls, use new thread.
	(do_message_selected): "

	* mail-ops.c (mail_get_message): Add a thread argument so callers
	can specify which queue it executes on.

	* mail-mt.c (mail_msg_free): Fix a free order problem.
	(mail_msg_destroy): Call mail_msg_free to do the work.
	(mail_msgport_replied): "
	(mail_msgport_replied): Check/display errors if we get them.
	(mail_msgport_received): If we have a describe function, say what
	we're doing, also set busy/unbusy.
	(mail_msgport_replied): Clear busy when we get a reply.
	(mail_get_password): Unset busy.
	(mail_msg_received): Set busy as we go.
	(mail_msg_destroy): Unset busy when done.
	(mail_status): Blah blah, new status interface, the other wans't
	workable with the way the shell api works.

2000-12-29  Not Zed  <NotZed@HelixCode.com>

	* folder-browser.c (do_message_selected): If we are reconfiguring,
	just keep polling till we are done (yeah kinda shitty, but easy).
	(folder_browser_set_uri): Clear reconfigure flag here.  ick.
	(got_folder): And here too.
	(on_right_click): Remove locking.
	(hide_sender): and here too.
	(hide_subject): And here.
	(on_right_click): If we are in reconfigure, then the whole menu is disabled.

	* mail-mt.c (status_busy_timeout): Clear the status_busy_timeout_id.

	* mail-local.c (local_storage_new_folder_cb): Made getting folders
	completely synchronous.  The shell expects it, and it was only
	synchronous before by a sideeffect.
	(do_reconfigure_folder): Remove locking stuff.
	(do_reconfigure_folder): Use our own much simpler copying routine
	than that stupid move_folder_contents thing.
	(update_progress): Use mail_status_message() instead.
	(do_reconfigure_folder): Set the reconfigure flag during
	reconfigure & set busy flag.
	(cleanup_reconfigure_folder): clear busy flag.

	* mail-tools.c (mail_tool_uri_to_folder): Remove the tool_lock
	stuff.
	(mail_tool_uri_to_folder_noex): Clear exception on exit.
	(mail_tool_move_folder_contents): Get rid of this really stupid
	function that is only used in one place.

	* component-factory.c (owner_set_cb): Use direct calls to get the
	folders, as this code must run synchronous.  Remove the event wait
	stuff.

	* mail-callbacks.c (edit_msg): Call mail_get_messages, and create
	the composers ourself.
	(do_edit_messages): get_messages callback, create the composers
	and connect to signals we need.
	(view_msg): Dont call do_view_messages, just call
	mail_get_messge for each to get them in parallel.
	(do_view_message): view a single message.

	* mail-ops.c (mail_edit_messages): Just use mail_get_messages
	for this operation.  Removed the other async operation stuff.
	Changed my mind, just removed entirely.
	(mail_do_view_messages): Removed.
	(mail_do_setup_folder): Removed.
	(mail_do_scan_subfolders): Make this run synchronously, as every
	caller expects it to (even if they didn't realise).

2000-12-28  Not Zed  <NotZed@HelixCode.com>

	* mail-callbacks.c (send_queued_mail): Dont expunge the folder
	here, but in send_queue, otherwise it might execute out of order.
	(expunge_folder): Remove the talbe prechange stuff, and infact
	references to the message_list folder, as we have our own folder.
	Also, dont allow expunge if we're already expunging.
	(expunged_folder): Clkear the expunging flag if we're finished.

	* folder-browser-factory.c (control_deactivate): Likewise here.
	Hrm, i thought this function required a callback, silly me.

	* mail-tools.c (mail_tool_make_message_attachment): Remov e
	locking.

	* folder-browser.c (on_message_selected): Use a timeout handler so
	we dont select immediately.
	(folder_browser_set_uri): Changed to use mail_get_folder.
	(got_folder): New callback called when get_folder is finished.
	(folder_browser_destroy): Use new sync interface.

	* mail-ops.c (mail_get_message): New function to asynchrounously
	get a message.
	: #define out mail_tool_camel_lock stuff entirely.
	(mail_get_folder): New function to asynchrounously get a folder.
	(mail_do_load_folder): Removed, replaced by more generic function
	above.
	(mail_do_display_message): Removed, replaced by the more generic
	funciton get_message.
	(mail_get_messages): New function to get a list of messages
	asynchronously.
	(mail_sync_folder): New interface to sync a folder async.
	(mail_expunge_folder): New interface for expunging folder, with
	callback.
	(do_send_queue): Remove lock stuff, and expunge if (and only if)
	successful, also sync the sent folder while we're at it.

	* session.c (mail_session_request_dialog): Changed to use new
	mail_get_password call.

	* mail-mt.[ch]: New threading/interthread messaging framework.

	* main.c (main): Init the message/thread system.

svn path=/trunk/; revision=7223
2001-01-03 01:18:21 +00:00
a228c210b0 Always use the slow (full-update) version of the tree update code, to get
2000-12-16  Not Zed  <NotZed@HelixCode.com>

	* message-list.c (build_tree): Always use the slow (full-update)
	version of the tree update code, to get around a bug(?) in etree.
	(build_flat): Likewise.

2000-12-15  Not Zed  <NotZed@HelixCode.com>

	* mail-display.c (write_data_to_file): Dont blindly convert all
	parts to utf8, e.g. image/jpg.  We only convert text/* parts, and
	only then if required.

2000-12-14  Not Zed  <NotZed@HelixCode.com>

	* component-factory.c (create_view): cast over a warning.

	* folder-browser-factory.c: Add verbs for hide functions.

	* message-list.c (message_list_hide_clear):
	(message_list_hide_uids):
	(message_list_hide_add): Some api renaming.
	(message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean
	not to change the upper/lower range at all.
	(hide_save_state): Save the state of the hide list to stable
	storage.
	(hide_load_state): Load the state of hte hide list.
	(message_list_set_folder): Load/save the state of the folder if it
	is changed/set.
	(message_list_destroy): Save the state of the folder hide list
	when done.
	(save_tree_state): If we wrote out an empty state file, simply
	remove it instead.

	* folder-browser.c (on_right_click): Add some hide menus.
	(hide_read): Hide read messages.
	(hide_deleted): Hide deleted messages.
	(hide_selected): Hide selected/current message.
	(hide_none): Show all hidden messages.
	(on_right_click): Lock around accesses to the message (inside
	mlist_detect_magic).
	(on_right_click): Free the mailing list name.

2000-12-13  Not Zed  <NotZed@HelixCode.com>

	* folder-browser.c (on_right_click): Add camel locking since we
	call it directly.  Whoever heard of a lock you 'down' to unlock?

	* message-list.c (mail_do_regenerate_messagelist): Added hide
	expression, messages to hide.  Fixed all callers.
	(do_regenerate_messagelist): IF we have a hide expression, search
	and remove those from the uid list.  If we have a hide range,
	apply that afterwards.
	(cleanup_regenerate_messagelist): Handle freeing the hide uid
	temporary data, if required.
	(message_list_destroy): Free hide data, also lock around all camel
	object stuff.
	(message_list_length): New function to get the number of messages
	avaialble to be hidden by range.
	(message_list_set_hide): Set the hide expression and range.
	Issue: Should hiding be remembered?
	(message_list_unhide_all): Turn off all hiding.
	(message_list_hide_uids): Hide a list of uid's.

svn path=/trunk/; revision=7061
2000-12-16 08:55:37 +00:00
e22c643dc6 Remove the never-once-used BonoboObject stuff and make MessageList be a
* message-list.c: Remove the never-once-used BonoboObject stuff
	and make MessageList be a GtkWidget instead. Also, keep track of
	the ETable directly rather than repeatedly calling
	e_table_scrolled_get_table.

	* folder-browser.c (folder_browser_destroy): Use gtk methods
	rather than bonobo methods to destroy the message list.
	(on_right_click, on_double_click): These are being attached to the
	ETable directly now, so fix the first argument (which isn't being
	used anyway, but...)
	(folder_browser_gui_init): simplify now that MessageList itself is
	a widget. Also use message_list->table rather than
	e_table_scrolled_get_table.

	* mail-local.c (mail_local_reconfigure_folder): Add "mail_" to
	the beginning of this function name to match its prototype and the
	other vague namespace conventions in the mailer.

	* mail-callbacks.c (select_all, invert_selection): Use ml->table.
	(configure_folder): s/local_reconfigure_folder/mail_&/

svn path=/trunk/; revision=6908
2000-12-11 16:44:30 +00:00
5c7218c629 Remove bits of filter-on-demand and toolbar bug workaround cruft that
* folder-browser.c: Remove bits of filter-on-demand and toolbar
	bug workaround cruft that don't do anything useful any more.

	* mail-ops.c (cleanup_load_folder): unref the ref we added in
	setup_load_folder.

svn path=/trunk/; revision=6812
2000-12-06 18:40:11 +00:00
0fa1b87e9e New function to return if user wants to view message source.
2000-11-21  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-config.c (mail_config_view_source): New function to return
	if user wants to view message source.
	(mail_config_set_view_source): New function to set whether the
	view wants to view source.

	* mail-ops.c (mail_do_view_message_sources): Removed. We're not
	gonna view-source this way anymore.

	* folder-browser-factory.c: Removed the ViewSource bonobo verb
	from the Message menu.
	(control_activate): Added ViewSource.

	* folder-browser.c (on_right_click): Removed Message menu item to
	view message source.
	(folder_browser_toggle_view_source): New callback to set whether
	or not the MailDisplay shows the raw message or the pretty-ified
	message.

	* mail-callbacks.c: Removed view_source.

	* mail-display.c (redisplay): If toggle_raw is set then display
	the raw message else display the pretty formatted message.
	(mail_display_redisplay): New function to force the redisplay of a
	message.

	* mail-format.c (mail_format_raw_message): New function to
	write the raw message data.

svn path=/trunk/; revision=6639
2000-11-21 22:09:51 +00:00
3d3cfc1137 A very, long, very tedious IDL API rename and re-scoping;
this script + some grunt approximates the work:

    s/Evolution_MessageList/GNOME_Evolution_MessageList/g;
    s/GNOME_Evolution_MessageList_select_message/GNOME_Evolution_MessageList_selectMessage/g;
    s/GNOME_Evolution_MessageList_open_message/GNOME_Evolution_MessageList_openMessage/g;

    s/Evolution_Folder([ \t])/GNOME_Evolution_Folder$1/g;
    s/Evolution_FolderTypeList/GNOME_Evolution_FolderTypeList/g;
    s/Evolution_FolderBrowser/GNOME_Evolution_FolderBrowser/g;
    s/GNOME_Evolution_FolderBrowser_get_message_list/GNOME_Evolution_FolderBrowser_getMessageList/g;

    s/Evolution_LocalStorage/GNOME_Evolution_LocalStorage/g;
    s/GNOME_Evolution_LocalStorage_update_folder/GNOME_Evolution_LocalStorage_updateFolder/g;

    s/Evolution_ShellView/GNOME_Evolution_ShellView/g;
    s/GNOME_Evolution_ShellView_set_message/GNOME_Evolution_ShellView_setMessage/g;
    s/GNOME_Evolution_ShellView_unset_message/GNOME_Evolution_ShellView_unsetMessage/g;
    s/GNOME_Evolution_ShellView_change_current_view/GNOME_Evolution_ShellView_changeCurrentView/g;

    s/Evolution_StorageSetViewListener/GNOME_Evolution_StorageSetViewListener/g;
    s/GNOME_Evolution_StorageSetViewListener_folder_selected/GNOME_Evolution_StorageSetViewListener_notifyFolderSelected/g;
    s/GNOME_Evolution_StorageSetViewListener_storage_selected/GNOME_Evolution_StorageSetViewListener_notifyStorageSelected/g;

    s/Evolution_StorageSetView/GNOME_Evolution_StorageSetView/g;
    s/GNOME_Evolution_StorageSetView_add_listener/GNOME_Evolution_StorageSetView_addListener/g;
    s/GNOME_Evolution_StorageSetView_remove_listener/GNOME_Evolution_StorageSetView_removeListener/g;

    s/Evolution_Shell/GNOME_Evolution_Shell/g;
    s/GNOME_Evolution_Shell_get_component_for_type/GNOME_Evolution_Shell_getComponentByType/g;
    s/GNOME_Evolution_Shell_user_select_folder/GNOME_Evolution_Shell_selectUserFolder/g;
    s/GNOME_Evolution_Shell_get_local_storage/GNOME_Evolution_Shell_getLocalStorage/g;
    s/GNOME_Evolution_Shell_create_storage_set_view/GNOME_Evolution_Shell_createStorageSetView/g;

    s/Evolution_FolderSelectionListener/GNOME_Evolution_FolderSelectionListener/g;
    s/GNOME_Evolution_FolderSelectionListener_selected/GNOME_Evolution_FolderSelectionListener_notifySelected/g;
    s/GNOME_Evolution_FolderSelectionListener_cancel/GNOME_Evolution_FolderSelectionListener_notifyCanceled/g;

    s/Evolution_Storage/GNOME_Evolution_Storage/g;
    s/GNOME_Evolution_Storage_add_listener/GNOME_Evolution_Storage_addListener/g;
    s/GNOME_Evolution_Storage_remove_listener/GNOME_Evolution_Storage_removeListener/g;

    s/GNOME_Evolution_StorageListener_destroyed/GNOME_Evolution_StorageListener_notifyDestroyed/g;
    s/GNOME_Evolution_StorageListener_new_folder/GNOME_Evolution_StorageListener_notifyFolderCreated/g;
    s/GNOME_Evolution_StorageListener_update_folder/GNOME_Evolution_StorageListener_notifyFolderUpdated/g;
    s/GNOME_Evolution_StorageListener_removed_folder/GNOME_Evolution_StorageListener_notifyFolderRemoved/g;

    s/GNOME_Evolution_StorageRegistry_register_storage/GNOME_Evolution_StorageRegistry_addStorage/g;
    s/GNOME_Evolution_StorageRegistry_unregister_storage/GNOME_Evolution_StorageRegistry_removeStorageByName/g;

    s/Evolution_ShellComponent/GNOME_Evolution_ShellComponent/g;
    s/GNOME_Evolution_ShellComponent_set_owner/GNOME_Evolution_ShellComponent_setOwner/g;
    s/GNOME_Evolution_ShellComponent_unset_owner/GNOME_Evolution_ShellComponent_unsetOwner/g;
    s/GNOME_Evolution_ShellComponent_create_view/GNOME_Evolution_ShellComponent_createView/g;
    s/GNOME_Evolution_ShellComponent_async_create_folder/GNOME_Evolution_ShellComponent_addFolderAsync/g;
    s/GNOME_Evolution_ShellComponent_async_remove_folder/GNOME_Evolution_ShellComponent_removeFolderAsync/g;
    s/GNOME_Evolution_ShellComponent_populate_folder_context_menu/GNOME_Evolution_ShellComponent_populateFolderContextMenu/g;

    s/GNOME_Evolution_ShellComponentListener_report_result/GNOME_Evolution_ShellComponentListener_notifyResult/g;

    s/Evolution_Session/GNOME_Evolution_Session/g;
    s/GNOME_Evolution_Session_save_configuration/GNOME_Evolution_Session_saveConfiguration/g;
    s/GNOME_Evolution_Session_load_configuration/GNOME_Evolution_Session_loadConfiguration/g;

    s/Evolution_Calendar_Cal/GNOME_Evolution_Calendar_Cal/g;
    s/GNOME_Evolution_Calendar_Cal_get_n_objects/GNOME_Evolution_Calendar_Cal_countObjects/g;
    s/GNOME_Evolution_Calendar_Cal_get_object/GNOME_Evolution_Calendar_Cal_getObject/g;
    s/GNOME_Evolution_Calendar_Cal_get_uids/GNOME_Evolution_Calendar_Cal_getUIds/g;
    s/GNOME_Evolution_Calendar_Cal_get_changed_uids/GNOME_Evolution_Calendar_Cal_getChangedUIds/g;
    s/GNOME_Evolution_Calendar_Cal_get_objects_in_range/GNOME_Evolution_Calendar_Cal_getObjectsInRange/g;
    s/GNOME_Evolution_Calendar_Cal_get_alarms_in_range/GNOME_Evolution_Calendar_Cal_getAlarmsInRange/g;
    s/GNOME_Evolution_Calendar_Cal_get_alarms_for_object/GNOME_Evolution_Calendar_Cal_getAlarmsForObject/g;
    s/GNOME_Evolution_Calendar_Cal_update_object/GNOME_Evolution_Calendar_Cal_updateObject/g;
    s/GNOME_Evolution_Calendar_Cal_remove_object/GNOME_Evolution_Calendar_Cal_removeObject/g;

    s/Evolution_Calendar_Listener/GNOME_Evolution_Calendar_Listener/g;
    s/GNOME_Evolution_Calendar_Listener_cal_loaded/GNOME_Evolution_Calendar_Listener_notifyCalLoaded/g;
    s/GNOME_Evolution_Calendar_Listener_obj_updated/GNOME_Evolution_Calendar_Listener_notifyObjUpdated/g;
    s/GNOME_Evolution_Calendar_Listener_obj_removed/GNOME_Evolution_Calendar_Listener_notifyObjRemoved/g;

    s/Evolution_Calendar_CalFactory/GNOME_Evolution_Calendar_CalFactory/g;
    s/GNOME_Evolution_Calendar_CalFactory_load/GNOME_Evolution_Calendar_CalFactory_load/g;
    s/GNOME_Evolution_Calendar_CalFactory_create/GNOME_Evolution_Calendar_CalFactory_create/g;

    s/Evolution_Composer/GNOME_Evolution_Composer/g;
    s/GNOME_Evolution_Composer_set_headers/GNOME_Evolution_Composer_setHeaders/g;
    s/GNOME_Evolution_Composer_set_body_text/GNOME_Evolution_Composer_setBodyText/g;
    s/GNOME_Evolution_Composer_attach_MIME/GNOME_Evolution_Composer_attachMIME/g;
    s/GNOME_Evolution_Composer_attach_data/GNOME_Evolution_Composer_attachData/g;
    s/GNOME_Evolution_Composer_show/GNOME_Evolution_Composer_show/g;

    s/Evolution_Addressbook_SelectNames/GNOME_Evolution_Addressbook_SelectNames/g;
    s/GNOME_Evolution_Addressbook_SelectNames_add_section/GNOME_Evolution_Addressbook_SelectNames_addSection/g;
    s/GNOME_Evolution_Addressbook_SelectNames_get_entry_for_section/GNOME_Evolution_Addressbook_SelectNames_getEntryBySection/g;
    s/GNOME_Evolution_Addressbook_SelectNames_activate_dialog/GNOME_Evolution_Addressbook_SelectNames_activateDialog/g;

    s/Evolution_CardCursor/GNOME_Evolution_Addressbook_CardCursor/g;
    s/GNOME_Evolution_Addressbook_CardCursor_get_length/GNOME_Evolution_Addressbook_CardCursor_getLength/g;
    s/GNOME_Evolution_Addressbook_CardCursor_get_nth/GNOME_Evolution_Addressbook_CardCursor_getNth/g;

    s/Evolution_BookViewListener/GNOME_Evolution_Addressbook_BookViewListener/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_added/GNOME_Evolution_Addressbook_BookViewListener_notifyCardAdded/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_removed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardRemoved/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_changed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardChanged/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_sequence_complete/GNOME_Evolution_Addressbook_BookViewListener_notifySequenceComplete/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_status_message/GNOME_Evolution_Addressbook_BookViewListener_notifyStatusMessage/g;

    s/Evolution_BookView/GNOME_Evolution_Addressbook_BookView/g;

    s/Evolution_Book/GNOME_Evolution_Addressbook_Book/g;
    s/GNOME_Evolution_Addressbook_Book_get_vcard/GNOME_Evolution_Addressbook_Book_getVCard/g;
    s/GNOME_Evolution_Addressbook_Book_can_write/GNOME_Evolution_Addressbook_Book_isWriteable/g;
    s/GNOME_Evolution_Addressbook_Book_can_write_card/GNOME_Evolution_Addressbook_Book_isCardWriteable/g;
    s/GNOME_Evolution_Addressbook_Book_create_card/GNOME_Evolution_Addressbook_Book_addCard/g;
    s/GNOME_Evolution_Addressbook_Book_remove_card/GNOME_Evolution_Addressbook_Book_removeCard/g;
    s/GNOME_Evolution_Addressbook_Book_modify_card/GNOME_Evolution_Addressbook_Book_modifyCard/g;
    s/GNOME_Evolution_Addressbook_Book_get_cursor/GNOME_Evolution_Addressbook_Book_getCursor/g;
    s/GNOME_Evolution_Addressbook_Book_get_book_view/GNOME_Evolution_Addressbook_Book_getBookView/g;
    s/GNOME_Evolution_Addressbook_Book_get_changes/GNOME_Evolution_Addressbook_Book_getChanges/g;
    s/GNOME_Evolution_Addressbook_Book_check_connection/GNOME_Evolution_Addressbook_Book_checkConnection/g;
    s/GNOME_Evolution_Addressbook_Book_get_static_capabilities/GNOME_Evolution_Addressbook_Book_getStaticCapabilities/g;
    s/GNOME_Evolution_Addressbook_Book_get_name/GNOME_Evolution_Addressbook_Book_getName/g;

    s/Evolution_BookListener/GNOME_Evolution_Addressbook_BookListener/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_create_card/GNOME_Evolution_Addressbook_BookListener_notifyCardCreated/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_remove_card/GNOME_Evolution_Addressbook_BookListener_notifyCardRemoved/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_modify_card/GNOME_Evolution_Addressbook_BookListener_notifyCardModified/g;
    s/GNOME_Evolution_Addressbook_BookListener_report_open_book_progress/GNOME_Evolution_Addressbook_BookListener_notifyOpenBookProgress/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_open_book/GNOME_Evolution_Addressbook_BookListener_notifyBookOpened/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_get_cursor/GNOME_Evolution_Addressbook_BookListener_notifyCursorRequested/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_get_view/GNOME_Evolution_Addressbook_BookListener_notifyViewRequested/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_get_changes/GNOME_Evolution_Addressbook_BookListener_notifyChangesRequested/g;
    s/GNOME_Evolution_Addressbook_BookListener_report_connection_status/GNOME_Evolution_Addressbook_BookListener_notifyConnectionStatus/g;

    s/Evolution_BookFactory/GNOME_Evolution_Addressbook_BookFactory/g;
    s/GNOME_Evolution_Addressbook_BookFactory_open_book/GNOME_Evolution_Addressbook_BookFactory_openBook/g;

    s/Evolution_SummaryComponent/GNOME_Evolution_Summary_Component/g;
    s/GNOME_Evolution_Summary_SummaryComponent_set_owner/GNOME_Evolution_Summary_Component_setOwner/g;
    s/GNOME_Evolution_Summary_SummaryComponent_unset_owner/GNOME_Evolution_Summary_Component_unsetOwner/g;
    s/GNOME_Evolution_Summary_SummaryComponent_create_view/GNOME_Evolution_Summary_Component_createView/g;
    s/GNOME_Evolution_Summary_SummaryComponent_destroy_view/GNOME_Evolution_Summary_Component_destroyView/g;

    s/Evolution_Summary([ \t])/GNOME_Evolution_Summary_ViewFrame$1/g;
    s/Evolution_Summary_set_title/GNOME_Evolution_Summary_ViewFrame_setTitle/g;
    s/Evolution_Summary_set_icon/GNOME_Evolution_Summary_ViewFrame_setIcon/g;
    s/Evolution_Summary_update_component/GNOME_Evolution_Summary_ViewFrame_updateComponent/g;

    s/GNOME_GNOME/GNOME/g;
    s/GNOME_GNOME/GNOME/g;
    s/GNOME_GNOME/GNOME/g;

svn path=/trunk/; revision=6535
2000-11-10 20:41:13 +00:00
889ddc56b5 Updated to use the ESearchBar object rather than the previously used
2000-11-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser.c (search_full_clicked): Updated to use the
	ESearchBar object rather than the previously used search widgets.
	(search_full): Same.
	(search_save): Same. Also use enums to make it a little easier to
	read now that we have to have enums anyway.
	(folder_browser_search_menu_activated): New ESearchBar menu
	callback.
	(folder_browser_search_query_changed): New ESearchBar query
	callback. Replaces search_set()
	(folder_browser_clear_search): Updated to use the ESearchBar
	object rather than the previously used search widgets.
	(folder_browser_gui_init): Don't hand construct a search widget,
	use the new ESearchBar convenience widget.

	* mail-ops.c (cleanup_load_folder): Updated to reflect changes to
	FolderBrowser.

svn path=/trunk/; revision=6490
2000-11-07 22:31:19 +00:00
8952ed2a26 Added mail-display.h.
2000-11-03  Not Zed  <NotZed@HelixCode.com>

	* mail-view.c: Added mail-display.h.

	* mail-autofilter.c: Removed unecessary headers.  Who ran indent
	over this code?  Sigh.

	* mail-ops.c (display_message_input_s): Added messagedisplay.
	(mail_do_display_message): Added messagedisplay arg.
	(mail_do_display_message): Dont bother doing another thread when
	we know we dont have a uid.
	(): Added folder-browser.h to headers.  Sigh.

	* folder-browser-factory.c (control_activate): Setup the
	viewthreaded callback to the folder_browser function.

	* folder-browser.c (my_folder_browser_init): Connect to
	right_click of etable of the messagelist here.
	(on_right_click): Changed for argument changes.
	(folder_browser_toggle_threads): Changed to take a fb, and to set
	threaded mode on the messagelist.
	(my_folder_browser_init): Connect also to the double_click signal.
	(my_folder_browser_init): Connect to the message_selected signal
	of the message_list.
	(on_message_selected): Signal handler for message selected.
	(my_folder_browser_init): Fix for change to message_list_new().

	* message-list.h: Dont include folder-browser.h.
	(message_list_toggle_threads): Moved into folder-browser.h.
	(struct _MessageList): Removed folderbrowser.

	* mail.h: Dont include folder-browser.h here either, but
	mail-types.h instead.
	Moved prototypes moved into folder-browser.c into
	folder-browser.h. (vfolder_*, filter_*).

	* mail-display.h: Dont include folder-browser.h here, but
	mail-types.h and specific camel headers.

	* message-thread.c (sort_node): Invert the sort order logic so the
	list is sorted in mailbox order, not reverse mailbox order.

	* message-list.c (free_tree_ids): Fix a merge foo.
	(remove_node_diff): Removed unused row argument.  Fixed callers/prototype.
	(clear_tree): pre_change on the removal of the root node.
	(build_flat): Only perform pre_change if we are rebuilding the
	whole lot.  For incremental change let etable do its thing.
	(build_tree): Likewise for building the tree view.  If making
	incremental updates, do them as we build it.
	(vfolder_subject):
	(vfolder_sender):
	(vfolder_recipient):
	(filter_subject):
	(filter_sender):
	(filter_recipient):
	(filter_mlist):
	(on_right_click): Moved to folder-browser.c, where they belong.
	(message_list_init): Dont connect to right_click anymore.
	(message_list_toggle_threads): Moved to folder-browser.c, renamed.
	(on_double_click): Moved to folder-browser.c
	(on_click): Set the flags directly, rather than in anothre thread,
	which is just not necessary.
	(message_list_class_init): Added a new signal 'message_selected',
	to indicate when a message was selected.
	(on_cursor_change_idle): Emit a signal, rather than directly
	triggering the display update.
	(select_row): Removed, no longer used.
	(idle_select_row): And this too.
	(select_msg): Removed as well.
	(message_list_select): Emit a signal, rather
	thandisplaying/clearing the mail-display directly.
	(mark_msg_seen): Moved to folder-browser.c
	(message_list_new): Removed folderbrowser argument.

svn path=/trunk/; revision=6365
2000-11-03 09:28:00 +00:00
79154e4ac8 New widget, full search dialogue for mail.
2000-10-06  Not Zed  <NotZed@HelixCode.com>

        * mail-search-dialogue.c: New widget, full search dialogue for
        mail.

        * folder-browser.c (search_set): If we click on custom search, run
        the full search dialogue.
        (folder_browser_gui_init): Add a button to perform a full search.
        (search_full): Bring up the mail search dialogue asynchronously.
        (search_full_clicked): Handle search options.
        (folder_browser_destroy): Free the saved rule if there is one
        there.
        (search_options[]): Added a custom option option - brings up the
        full search dialogue.
        (search_set): Disable the search entry if we are doing a full
        search.

        * mail-vfolder.c (vfolder_create_storage): Yay, finally
        depeterised this stuff.
        (vfolder_uri_to_folder): Removed an irrelevant comment.

        * mail-callbacks.c (filter_edit): And here.

        * mail-ops.c (do_fetch_mail): And here too.

        * mail-autofilter.c (filter_gui_add_from_message): Fixed call to
        context_load.
        (filter_gui_add_for_mailing_list): And here too.

        * folder-browser-factory.c (create_ondemand_hooks): Remove that
        ondemand callback snot.

2000-10-05  Not Zed  <NotZed@HelixCode.com>

        * message-list.c (message_list_init_etable): Build the etable once
        we know what folder we are going to use.
        (save_header_state): Save the header spec to a cache file.
        (message_list_destroy): Save the header spec.
        (message_list_setup_etable): Setup the etable spec for this
        folder, from a saved version if one exists, or to suit the folder
        type (sent/received).
        (message_list_set_folder): Setup the etable here once we have a folder.

svn path=/trunk/; revision=5798
2000-10-09 12:57:36 +00:00
7d777d329b Fix memory handling for the shell's CORBA object reference within the
folder browser.

svn path=/trunk/; revision=5221
2000-09-06 14:36:08 +00:00
0b9b384a2b Fix GDK_THREADS_entering and leaving, hopefully once and for all. Genericify the recursive-store-loading. Load stores when they're added to the config page.
svn path=/trunk/; revision=5005
2000-08-24 17:22:12 +00:00
7cf30eb792 Filtering on demand! booyeah!
svn path=/trunk/; revision=4864
2000-08-17 17:42:21 +00:00
8cb514d6dd Merge with camel-async.
svn path=/trunk/; revision=4687
2000-08-10 17:30:50 +00:00
b9a9cd3a86 New convenience function with params of a normal Gtk callback function. We
2000-08-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (view_msg): New convenience function with params of a
	normal Gtk callback function. We also now create a new
	FolderBrowser object so that the message-view window isn't tied to
	the display in the main window
	(view_message): Now calls view_msg (this function is a bonobo
	callback and can't be used with gtk widgets)
	(edit_msg): Same idea as view_msg()
	(edit_message): Again, same as view_message()

	* message-list.c (on_right_click): Callback for creating an
	e-popup-menu
	(message_list_init): Added a right_click event to trigger a pop-up
	menu to be displayed

svn path=/trunk/; revision=4619
2000-08-09 01:09:55 +00:00
94f0df746e New function to revert back to non-searching mode.
* folder-browser.c (folder_browser_clear_search): New function to
	revert back to non-searching mode.

	* mail-ops.c (fetch_mail): Use folder_browser_clear_search.

svn path=/trunk/; revision=3576
2000-06-15 17:31:53 +00:00
860fb187ff Return the result of folder_browser_load_folder. (get_prop, set_prop,
* folder-browser.c (folder_browser_set_uri): Return the result of
	folder_browser_load_folder.
	(get_prop, set_prop, folder_browser_properties_init): Remove. No
	longer needed.

	* folder-browser-factory.c (folder_browser_factory_new_control):
	Add a "uri" argument, return NULL if setting it fails.
	(folder_browser_factory_new_control): Remove property bag stuff.
	(folder_browser_factory_init, folder_browser_factory): Remove
	this, since we're using the component factory now.

	* component-factory.c (create_view): Update for
	folder_browser_factory_new_control change and return NOTFOUND as
	appropriate.

	* main.c (main): Don't call folder_browser_factory_init.

svn path=/trunk/; revision=3532
2000-06-12 19:29:17 +00:00
88b0244b32 Add a serial number to FolderBrowser.
* folder-browser.c (folder_browser_new): Add a serial number to
	FolderBrowser.

	* folder-browser-factory.c (control_activate, control_deactivate):
	Include fb serial number in the name of the Bonobo toolbar to
	prevent problems with disappearing toolbars. This is a kludge and
	should go away.

svn path=/trunk/; revision=3501
2000-06-10 01:52:51 +00:00
c65aa11c9b > (folder_browser_gui_init): Add an option meny to the search line.
> 	(create_option_menu): Build the option menu from a table.
> 	(search_set): Build a search from another string whent he option
> 	menu or text item is changed.  5 search options are defined so
> 	far.

svn path=/trunk/; revision=2742
2000-05-02 01:59:58 +00:00
4ec9945f05 added the get_e_folder_type function.
2000-03-12  bertrand  <bertrand@helixcode.com>

	* shell/e-folder.c (e_folder_get_folder_type): added the
	get_e_folder_type function.

2000-03-12  bertrand  <bertrand@helixcode.com>

	* folder-browser.h: added a reference to an
	Evolution::Shell object.

	* folder-browser-factory.c (folder_browser_set_shell):
	(folder_browser_control_add_service_repository_interface):
	(folder_browser_factory): the folder-browser control now
	implements the Evolution/ServiceRepository interface.

Sync for matt

svn path=/trunk/; revision=2108
2000-03-13 00:10:21 +00:00