Commit Graph

68 Commits

Author SHA1 Message Date
63ce54907c Make sure that the message subject is non-NULL beforetrying to base a
2001-12-04  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-autofilter.c (rule_from_message): Make sure that the
	message subject is non-NULL beforetrying to base a vfolder rule
	off it. Fixes bug #16284.

2001-12-07  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-accounts.c (construct): Connect to the dialog's "destroy"
	event and close any druids/editors that may be open when that
	signal is caught. Fixes bug #16501.

	* mail-vfolder.c (vfolder_edit): Set the window title to "Virtual
	Folders". Fixes bug #16695.

svn path=/trunk/; revision=14966
2001-12-10 20:09:37 +00:00
10752c7a83 Add a NULL check for rule->name. (mail_vfolder_add_uri): Same here.
2001-11-12  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_load_storage): Add a NULL check for
	rule->name.
	(mail_vfolder_add_uri): Same here.

svn path=/trunk/; revision=14677
2001-11-12 23:23:51 +00:00
d6d55273d4 Require gal 0.15.99.8
2001-10-29  Joe Shaw  <joe@ximian.com>

	* configure.in: Require gal 0.15.99.8

	* addressbook/backend/ebook/e-card-simple.c,
	addressbook/gui/component/addressbook-storage.c,
	addressbook/gui/widgets/e-addressbook-view.c,
	calendar/gui/e-calendar-table.c,
	calendar/gui/e-itip-control.c,
	calendar/gui/e-meeting-model.c,
	calendar/gui/itip-utils.c,
	calendar/gui/print.c,
	calendar/gui/alarm-notify/alarm-notify-dialog.c,
	filter/rule-editor.c,
	mail/mail-config.c,
	mail/mail-folder-cache.c,
	mail/mail-format.c,
	mail/mail-local.c,
	mail/mail-ops.c,
	mail/mail-vfolder.c,
	shell/e-local-storage.c,
	shell/e-summary-storage.c: Change includes of
	e-util/e-unicode-i18n.h to gal/util/e-unicode-i18n.h

svn path=/trunk/; revision=14427
2001-10-30 05:02:49 +00:00
0
093a00cf2b Argh!!! Dont free the async op data here, the async op is still running
2001-10-30    <NotZed@Ximian.com>

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

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

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

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

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

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

svn path=/trunk/; revision=14412
2001-10-30 03:28:40 +00:00
9
93127a6daf Sort the folder updates first, since we dont seem to get them in the right
2001-10-29    <NotZed@Ximian.com>

        * mail-folder-cache.c (store_folder_renamed): Sort the folder
        updates first, since we dont seem to get them in the right order,
        or infact in any tree representation whatsoever when using IMAP
        ...? get_folder_info bugs?

        Unrelated note to self, the subscribe dialogue may interfere with
        the folder cache.

svn path=/trunk/; revision=14328
2001-10-29 08:28:53 +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
8
4229e6849d Remove uic, kill dumb warning.
2001-10-28    <NotZed@Ximian.com>

	* folder-browser-ui.c (fbui_sensitize_timeout): Remove uic, kill
	dumb warning.

	* mail-autofilter.c (mail_filter_rename_uri): Implement function
	for filters to keep track of uri's being renamed.
	(mail_filter_delete_uri): Similarly for deleting uri's.  Note that
	these functions are just noops though.

	(real_flush_updates): Also rename and delete uri's from filters.

	(mls_delete_folder): Unref the store when done.
	(mls_rename_folder): Fix implementation, shell already created
	destination folder, so we can't just rename :(

	(xfer_folder): Manually call rename code, since the shell will do
	a remove/add later on, AND there's no way we can determine the new
	path from the crock of an api we have to work with.

svn path=/trunk/; revision=14291
2001-10-28 10:53:02 +00:00
8
4689dccf16 Implemented. (mail_vfolder_rename_uri): We do want to check renamed uri's
2001-10-28    <NotZed@Ximian.com>

        * mail-vfolder.c (mail_vfolder_rename_uri): Implemented.
        (mail_vfolder_rename_uri): We do want to check renamed uri's from
        vstores.
        (mail_vfolder_delete_uri): Same.
        (store_folder_renamed): Fix the folder hash at the same time.

        * mail-folder-cache.c (real_flush_updates): Pass the rename event
        to vfolder rename uri.

        * mail-local.c (mail_local_folder_reconfigure): Change the store
        path to be same as parent + mbox to be full path.
        (mls_delete_folder): Change store path to be parent path, and mbox
        to be full path.
        (mail_local_folder_reconfigure): Fix a leak of tmpname.

        * component-factory.c (xfer_folder): Only do a rename if we have
        remove set, cleaned up logic a bit.
        (idle_quit): Put the components still active check last last of
        all.
        (storage_create_folder): IF we have a fragment, use that as part
        part for parent.

svn path=/trunk/; revision=14276
2001-10-28 05:11:53 +00:00
6
8f8b24c737 Changed to open the source store from '/', so we can do renames across
2001-10-26    <NotZed@Ximian.com>

        * mail-local.c (mlf_set_folder): Changed to open the source store
        from '/', so we can do renames across directories.  Of course,
        this doesn't quite work with different filesystems, but we'll
        assume this isn't a problem we're going to have.
        (mail_local_folder_get_type): Setup parent_class.
        (mlf_rename): Implement folder rename call, rename internal data.

        Is this a security issue?  Well, not really, no more than anything
        else.

        * mail-folder-cache.c (mail_note_store): Listen to rename event.
        (store_folder_renamed): Function to handle it, empty.
        (mail_note_store_remove): Unhook from rename event.
        (mail_note_folder): Hook onto renamed event.
        (unset_folder_info): Unhook from renamed event.
        (folder_finalised): Lock around update.
        (folder_deleted): Lock around update.
        (real_flush_updates): If we have a path to remove remove it.
        (rename_folders): Scan folderinfo's, if we can find ones renamed,
        rename them, otherwise add them.

        * component-factory.c (owner_unset_cb): Use a timeout not an idle handler.
        (storage_xfer_folder): Implementation of xfer_folder signal
        handler, so we can rename imap/vfolders/etc.

svn path=/trunk/; revision=14205
2001-10-27 06:02:04 +00:00
1
a02822a94e Clear variables once done, for debugging. (mail_vfolder_add_uri,
2001-10-21    <NotZed@Ximian.com>

        * mail-vfolder.c (mail_vfolder_shutdown): Clear variables once
        done, for debugging.
        (mail_vfolder_add_uri, mail_vfolder_delete_uri): Dont do anything
        if we're shutdown (context == NULL).

        * component-factory.c (idle_quit): Move mail_vfolder_shutdown
        here, it should be one of the last things shutdown.

        * mail-format.c (handle_text_plain): Dont use (if (!p++), and then
        check p!= later, since its now 1, oops.  Fixes #13106, thought it
        was a start of uuencoded stuff!

        * folder-browser.c (on_right_click): Escape _'s before adding them
        to menu from mailing list name, also remove some dead code that
        someone forgot to remove when refactoring.  #11307.
        (folder_browser_is_drafts): Use the store's uri_cmp function to
        compare to the drafts uri's.
        (folder_browser_is_sent): Same.  Slight cleanup for #11351.

svn path=/trunk/; revision=13856
2001-10-21 20:28:58 +00:00
9
3e6cd9a7e5 Free folders_uri. (real_folder_deleted): If folder is deleted, remove it
2001-10-19    <NotZed@Ximian.com>

	* mail-folder-cache.c (store_finalised): Free folders_uri.
	(real_folder_deleted): If folder is deleted, remove it from the
	hashtables.

	* subscribe-dialog.c (get_short_folderinfo_get): Remove the
	register/unregister, they're already done above us.

	* mail-vfolder.c
	(mail_vfolder_delete_uri): Dont do any work to remove the actual
	folder from the vfolder (we'd have to look it up first), let the
	vfolder remove it itself.  Just update the rules.

svn path=/trunk/; revision=13787
2001-10-19 05:40:42 +00:00
8
ae5590f88d Added remove flag - its not adduri, its removeuri, its less typing than
2001-10-18    <NotZed@Ximian.com>

        * mail-vfolder.c (vfolder_adduri): Added remove flag - its not
        adduri, its removeuri, its less typing than creating a removeuri.
        (vfolder_adduri_do): Implement the remove flag.
        (mail_vfolder_remove_uri): Changed to mail_vfolder_delte_uri, to
        indicate its actually been deleted.
        (mail_vfolder_add_uri): Added remove flag.
        (rule_changed): When adding existing folders to a new rule, strdup
        the list data.

        * mail-folder-cache.c (store_finalised): Unhook from all events
        when done.
        (mail_note_store_remove): Remove a store from being noted.
        (free_folder_info): Also if we have a folder, unhook all events.
        Also remove the uri from vfolders.
        (mail_note_folder): Remove warning about adding folders to stores
        that aren't added yet - we might actually be removing the store.

        * component-factory.c (mail_remove_storage): Call
        mail_note_store_remove when we remove the storage.

svn path=/trunk/; revision=13782
2001-10-19 00:45:02 +00:00
f620356a6f Call mail_vfolder_shutdown.
2001-10-15  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (owner_unset_cb): Call
	mail_vfolder_shutdown.

	* mail-vfolder.c (mail_vfolder_shutdown): Unref all of our
	VFolders.

	* mail-folder-cache.c (real_note_folder): Remember to unref the
	folder before returning if we have already noted this folder.

svn path=/trunk/; revision=13682
2001-10-15 20:18:08 +00:00
4
e46018cd88 If we're accessing a vfolder uri, then popup the vfolder editor instead of
2001-10-04    <NotZed@Ximian.com>

        * mail-callbacks.c (configure_folder): If we're accessing a
        vfolder uri, then popup the vfolder editor instead of trying the
        mail local one.

        * mail-vfolder.c (vfolder_edit_rule): Edit a vfolder by name.

svn path=/trunk/; revision=13419
2001-10-04 19:55:31 +00:00
8d4f5ab1c8 Pass an empty flags argument to mail_tool_uri_to_folder.
2001-10-02  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_setup_do): Pass an empty flags argument
	to mail_tool_uri_to_folder.
	(vfolder_adduri_do): Same.

	* mail-session.c (get_folder): Pass an empty flags argument to
	mail_tool_uri_to_folder.

	* mail-send-recv.c (receive_get_folder): Pass an empty flags
	argument to mail_tool_uri_to_folder.

	* mail-ops.c (get_folder_get): Pass the flags to
	mail_tool_uri_to_folder.
	(mail_get_folder): Now takes a flags argument.
	(remove_folder_get): Pass an empty flags argument to
	mail_tool_uri_to_folder.
	(mail_send_message): Pass an empty argument flag to
	mail_tool_uri_to_folder.
	(transfer_messages_transfer): Same. Destination folder should
	already be created by this time.

	* folder-info.c (do_get_info): Pass an empty flags argument to
	mail_tool_uri_to_folder.

	* importers/evolution-mbox-importer.c (folder_created_cb): Pass
	the CREATE flag here too.
	(load_file_fn): And here.
	(load_file_fn): And here too.

	* importers/evolution-outlook-importer.c (load_file_fn): Pass the
	CREATE flag to mail_tool_uri_to_folder.

	* folder-browser.c (folder_browser_new): Pass an empty flags
	argument.
	(x_evolution_message_parse): Pass an empty flags argument to
	mail_tool_uri_to_folder.

	* component-factory.c (create_folder): Pass a CREATE flag to
	mail_get_folder here too.
	(owner_set_cb): And here.
	(xfer_folder): Shouldn't need the CREATE flag here, so not passing
	any flags.
	(destination_folder_handle_drop): Same.

	* mail-local.c (mail_local_store_add_folder): Pass a CREATE flag
	to mail_get_folder.
	(reconfigure_folder_reconfigure): Pass an empty flags argument to
	mail_tool_uri_to_folder.

	* mail-tools.c (mail_tool_uri_to_folder): Take a flags argument.
	(mail_tool_get_local_inbox): Pass an empty flags argument to
	mail_tool_uri_to_folder.

svn path=/trunk/; revision=13353
2001-10-02 22:01:03 +00:00
29bf2715b8 replace my_list_find() == NULL with my_list_find() != NULL.
2001-10-01  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (mail_vfolder_remove_uri): replace my_list_find()
	== NULL with my_list_find() != NULL.

svn path=/trunk/; revision=13282
2001-10-01 22:02:20 +00:00
8
4b14db5520 Emit folder_deleted event. (remove_find_path): Fix, compare against path,
2001-09-28    <NotZed@Ximian.com>

	* mail-local.c (mail_local_store_remove_folder): Emit
	folder_deleted event.
	(remove_find_path): Fix, compare against path, not full_name.

	* mail-tools.c (mail_tool_uri_to_folder): Dont
	vfolder_register_source anymore.

	* mail-vfolder.c (rule_changed): Changed to access
	mail_fodler_cahce to find out if the folder exist yet before
	trying to open them, also use the cache as a cache so we dont have
	to open the folder if its already been opened.
	(vfolder_register_source, register_source): Removed.
	(source_finalise): Removed,
	(check_source): Removed.  All handled through diff mechanism.
	(mail_vfolder_add_uri): New function, records uri's of available
	folders, and adds them to any active vfolders if required.
	(mail_vfolder_remove_uri): New function, removes a uri from
	available folders, and checks any rules to see fi they need
	updating.
	(vfolder_adduri): New async function to add a uri to all vfolders
	that need it.
	(store_folder_deleted): oops!  free user, not rule!!

	* mail-folder-cache.c: Add uri->folderinfo hashtable, and the
	store from which they come into the store info struct.
	Add uri to the folder_info.
	(setup_folder): Store the uri in the folderinfo.
	(setup_folder): And the uri in the folder_uri hashtable.
	(mail_note_store): Store the store in the storeinfo, and setup the
	folders_uri hashtable via the store's hash functions.
	(setup_folder): Call mail_vfolder_add_uri to note this newly setup
	folder uri.
	(store_folder_deleted): Proxy call to main thread.
	(real_folder_deleted): And tell the vfolder to remove this uri
	from its folder list.
	(setup_folder): Dont call vfolder_add_uri if noselect is set on
	the uri.

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

	* mail-vfolder.c: Removed vfolder_info struct, vfolder_storage.
	Neither used anymore.

svn path=/trunk/; revision=13242
2001-09-28 23:54:30 +00:00
0
a0100ddf24 Dont let drafts/outbox/sent be added via a generic 'all local folders'
2001-09-20    <NotZed@Ximian.com>

	* mail-vfolder.c (check_source): Dont let drafts/outbox/sent be
	added via a generic 'all local folders' rule.

svn path=/trunk/; revision=13042
2001-09-21 03:53:42 +00:00
0
a68b568135 Update the status bar here, assuming we've just been activated.
2001-09-20    <NotZed@Ximian.com>

	* folder-browser.c (folder_browser_set_shell_view): Update the
	status bar here, assuming we've just been activated.

	* mail-ops.c (add_vtrash_info): Scan whole list, rather than
	missing the last one.  Also dont assume its always the last,
	otherwise we could lose following folders.

	* mail-vfolder.c
	(all): d(x) out debug printfs

	* mail-folder-cache.c
	(update_1folder): If its a vtrash folder, or the outbox_folder,
	and we have a folder, then make the 'count' the total message
	count, not unread messages count.

svn path=/trunk/; revision=13036
2001-09-21 00:56:49 +00:00
0
586f083c3a Lock around hashtable/list manipulation. Also dont try scan vfolder_hash
2001-09-20    <NotZed@Ximian.com>

	* mail-vfolder.c (vfolder_register_source): Lock around
	hashtable/list manipulation.  Also dont try scan vfolder_hash if
	it hasn't been setup yet.
	(source_finalise): Lock around list access.
	(rule_changed): Lock around hash access.
	(context_rule_added): Lock around hash access.
	(context_rule_removed): "
	(rule_changed): Lock around list access.

	* mail-local.c (storage_listener_startup): Fix for api change.
	(local_storage_new_folder_cb): Dont skip over leading / in path.
	(local_storage_removed_folder_cb): ditto.

	* mail-folder-cache.c (create_folders): No longer pass prefix
	between recursive calls - we have the path in the folderinfo.
	(setup_folder): No longer take path arg, we get it from
	folderinfo.
	(mail_note_folder): No longer take path arg, we use
	folder->full_name to key the folder table.
	(mail_note_store): Consolidate note_store interface, pass storage
	or corba_storage to it.
	(mail_note_local_store): Removed.

	* mail-ops.c
	(add_unmatched_info): Scan for unmatched name and re-title.

svn path=/trunk/; revision=13023
2001-09-20 22:59:11 +00:00
0
412c2967bb Register vfolder sources here.
2001-09-20    <NotZed@Ximian.com>

        * mail-tools.c(mail_tool_uri_to_folder): Register vfolder sources here.

        * folder-browser.c (got_folder): Dont register vfolder sources
        here.

        * mail-ops.c (mail_get_folder): Add thread parameter.  Fix callers.

        * mail-vfolder.c (vfolder_setup): Use the 'slow' queue for setting
        up vfolders.

        * mail-mt.c (mail_msg_init): Limit the maximum number of threads
        on the 'new' thread to 10.
        (mail_msg_init): Create a new queue 'slow' for doing slow
        operations.

svn path=/trunk/; revision=13017
2001-09-20 21:01:53 +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
5
c2a0bf66ba Major rewrite of most of the guts, handle changes based on signals and
2001-09-15    <NotZed@Ximian.com>

        * mail-vfolder.c: Major rewrite of most of the guts, handle
        changes based on signals and events, etc.  Use the main storage
        handling code that imap uses, etc.

        * mail-tools.c (mail_tool_uri_to_folder): Dont special case
        vfolder: anymore.

        * component-factory.c (owner_set_cb): use vfolder_load_storage(),
        new function to setup vfolder storage, after interaction has been
        enabled only.  This might need some tweaking ...
        (storage_remove_folder): Removed all the folder lookup stuff.
        Just delete the folder based on the path passed in.  There should
        be no reason this wouldn't work, right?

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

        * mail-ops.c (get_folderinfo_get): Only add vtrash folder info, if
        store supports vtrash.

        * component-factory.c (mail_load_storage_by_uri): Let 'vfolder'
        stores show up too.

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

        * mail-vfolder.c (vfolder_uri_to_folder): Open a vfolder then set
        its expression, since name?query open method is removed.

svn path=/trunk/; revision=12856
2001-09-15 08:13:41 +00:00
2
8be7f276a2 Fixed the remove callback prototype, and return the result properly using
2001-09-12    <NotZed@Ximian.com>

        * mail-vfolder.c (vfolder_remove_cb): Fixed the remove callback
        prototype, and return the result properly using the listener.

svn path=/trunk/; revision=12786
2001-09-12 21:50:00 +00:00
639173be60 Marked string for translation (with U_).
* mail-vfolder.c (vfolder_create_storage):
Marked string for translation (with U_).

svn path=/trunk/; revision=12544
2001-08-31 21:43:43 +00:00
ac4f13b93e Allow the activity to be NULL if there isn't a global_shell_client so that
2001-08-19  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-mt.c (do_op_status): Allow the activity to be NULL if there
	isn't a global_shell_client so that we don't try and report status
	updates when the shell is destroyed.

	* mail-config.c (add_shortcut_entry): Return if there isn't a
	global_shell_client.

	* component-factory.c (owner_set_cb): set the global_shell_client
	here and connect to the destroy signal.

	* mail-vfolder.c (vfolder_create_storage): Use an extern global_shell_client.

svn path=/trunk/; revision=12242
2001-08-20 04:02:10 +00:00
df8180e04a Fix this so it can actually get folders from the hash of folders on the
2001-08-13  Jason Leach  <jleach@ximian.com>

	* mail-local.c (get_folder): Fix this so it can actually get
	folders from the hash of folders on the local store (it was
	looking up plain @folder_name, which is typically "mbox", instead
	of the full URI, /home/jleach/evolution/local/Foo/mbox).

	* component-factory.c (do_remove_folder): Rename to
	remove_folder_done, more fitting for it's purpose.
	(do_xfer_folder): Similar name change.
	(do_create_folder): Similar name change.
	(remove_folder): Don't notifyResult for the component here, we
	will notify with our result in remove_folder_done.
	(xfer_folder): Ditto.

	* mail-vfolder.c (vfolder_refresh): Create new folders with unread
	counts of "0" instead of #FALSE (which just happens to be #defined
	as zero).

svn path=/trunk/; revision=11964
2001-08-13 21:36:41 +00:00
51023d5abf [ Change this gtk_object_ref on the storage to a bonobo_object_ref ]
2001-08-08  Peter Williams  <peterw@ximian.com>

	[ Change this gtk_object_ref on the storage to a bonobo_object_ref ]

	* component-factory.c (mail_lookup_storage): And here.

	* mail-vfolder.c (mail_vfolder_get_vfolder_storage): And here.

svn path=/trunk/; revision=11791
2001-08-08 16:10:21 +00:00
6752871a36 Connect to the folder_remove signal on the storage. (vfolder_remove): New
2001-08-02  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_create_storage): Connect to the
	folder_remove signal on the storage.
	(vfolder_remove): New function to remove a vfolder.
	(vfolder_edit): Raise the window if it already exists.

svn path=/trunk/; revision=11593
2001-08-02 19:07:04 +00:00
e60ee74985 Connect to the folder_remove signal on the storage. (vfolder_remove): New
2001-08-02  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_create_storage): Connect to the
	folder_remove signal on the storage.
	(vfolder_remove): New function to remove a vfolder.

svn path=/trunk/; revision=11591
2001-08-02 18:36:39 +00:00
10d8453c53 New function. If a vfolder in our list gets finalized, NULL out
2001-07-13  Peter Williams  <peterw@ximian.com>

	* mail-vfolder.c (unlist_vfolder): New function. If a vfolder in our list
	gets finalized, NULL out info->folder (Is it wrong if this happens?) Also,
	locking issues?
	(vfolder_uri_to_folder): Hook up to the finalize event here.

svn path=/trunk/; revision=11087
2001-07-13 15:50:32 +00:00
a7054669e0 Add mail folder cache hookups.
2001-07-05  Peter Williams  <peterw@ximian.com>

	* mail-vfolder.c (vfolder_uri_to_folder): Add mail folder cache hookups.

svn path=/trunk/; revision=10806
2001-07-05 15:14:19 +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
2cdd37023c Don't allow multiple copies of this to be run at a time.
2001-05-11  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_edit): Don't allow multiple copies of
	this to be run at a time.

	* mail-callbacks.c (providers_config): Don't allow multiple copies
	of this to be run at a time.
	(manage_subscriptions): Same, but this was a tad more kludgy since
	we don't gnome_dialog_run_and_close() this one. I had to make the
	widget a semi-global variable. yuck :\
	(filter_edit): Same.

svn path=/trunk/; revision=9762
2001-05-11 18:46:10 +00:00
b50306c380 use system = EVOLUTION_DATADIR "/file" instead of g_strdup_printf. Rename
2001-04-22  Gediminas Paulauskas <menesis@delfi.lt>

	* folder-browser.c, mail-autofilter.c, mail-callbacks.c, mail-ops.c,
	mail-summary.c, mail-vfolder.c: use system = EVOLUTION_DATADIR "/file"
	instead of g_strdup_printf. Rename userrules to user (and system) to be
	consistent.

	* mail-send-recv.c: set window icon to send-receive.xpm

2001-04-21  Gediminas Paulauskas <menesis@delfi.lt>

	* mail-summary.c: translate "Mail summary".

svn path=/trunk/; revision=9490
2001-04-21 22:52:56 +00:00
4e3776a37d Only use non-NULL contexts. (mail_crypto_pgp_mime_part_encrypt): Same.
2001-04-14  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-crypto.c (mail_crypto_pgp_mime_part_verify): Only use
	non-NULL contexts.
	(mail_crypto_pgp_mime_part_encrypt): Same.
	(mail_crypto_pgp_mime_part_decrypt): And here too.

	* mail-format.c (try_inline_pgp_sig): Make sure to not use the
	context if it is NULL.
	(decode_pgp): Same.

	* folder-browser-factory.c: Added stuff for filtering/vfoldering
	on mailinglists.

svn path=/trunk/; revision=9315
2001-04-14 21:24:07 +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
6e5821b6d2 Added edit item to search-bar menu.
2001-03-15  Not Zed  <NotZed@Ximian.com>

        * folder-browser.c: Added edit item to search-bar menu.

        * mail-callbacks.c (filter_edit): Changed for filter_editor_new()
        api addition/change.

        * mail-vfolder.c (vfolder_edit): Use vfolder_editor_new intead.

svn path=/trunk/; revision=8731
2001-03-15 06:57:20 +00:00
2de08e6b9a Remove very old camel lock stuff.
2001-03-03  Not Zed  <NotZed@Ximian.com>

        * mail-tools.c: Remove very old camel lock stuff.

        * mail-local.c (register_folder_registered): Add the local folder
        as a potential vfolder source.

        * folder-browser.c (got_folder): When we have a new folder,
        register it as a potential vfolder source.

        * mail-vfolder.c: Added the source rule to the vfolder_info.
        (vfolder_refresh): Store the rule in the vfolder info, etc.
        (vfolder_register_source): Function to register a newly opened
        folder with us.
        (vfolder_uri_to_folder): Save the folder in the vfolder_info too.
        (source_finalise): Handle clenaup when the folder dies.

svn path=/trunk/; revision=8534
2001-03-02 23:39:39 +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
63f1ba7ab1 New handy dandy function to ref and return the vfolder storage (will
2001-02-19  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (mail_vfolder_get_vfolder_storage): New handy
	dandy function to ref and return the vfolder storage (will
	probably be disavowed once I figure out how to get the vTrash
	folder to show up in the EvolutionLocalStorage).

	* main.c (main): Call vtrash_cleanup().

	* mail-vtrash.c: New file.
	(vtrash_uri_to_folder): vtrash: URI handler
	(vtrash_create): Replacement async vtrash function for the old one
	in mail-ops.c
	(vtrash_cleanup): Cleanup code - unrefs the cached vtrash folders
	and free's the hashtable.

	* Makefile.am: Added mail-vtrash.[c,h].

	* mail-tools.c (mail_tool_uri_to_folder): If we have a vtrash:
	URI, call the vtrash URI handler function rather than continuing
	on. Yes, I know this is a hack and it needs to be fixed.

	* mail-ops.c (mail_do_setup_trash): Removed.
	(mail_trash_get): Removed.

	* component-factory.c (owner_set_cb): Create the vTrash folder for
	the LocalStore here.

	* mail-local.c (get_folder_info): Implement.

svn path=/trunk/; revision=8288
2001-02-19 23:38:53 +00:00
778498a42d Dont do the thaw/freeze set here. (update_folders): "
2001-02-16  Not Zed  <NotZed@Ximian.com>

        * mail-send-recv.c (receive_status): Dont do the thaw/freeze set here.
        (update_folders): "

        * mail-vfolder.c (vfolder_refresh): Setup the virtual
        'unmatched' folder by default.
        (vfolder_uri_to_folder): HAndle UNMATCHED folder specially, it has
        no explicit sources.

svn path=/trunk/; revision=8277
2001-02-19 21:00:10 +00:00
39495e7f53 Update copyrights.
svn path=/trunk/; revision=7879
2001-01-28 13:47:11 +00:00
e0b74b2ce5 Make the advanced search dialog use stock buttons. Make the OK button
the default button in the advanced search and vfolder dialogs.

svn path=/trunk/; revision=7878
2001-01-28 13:42:12 +00:00
c861496b41 Make the vfolder and "advanced search" dialogs a bit larger for better
usability.

svn path=/trunk/; revision=7871
2001-01-28 10:20:51 +00:00
bd1a57fc80 Function to add a store/storage mapping. (add_storage): Use it.
* component-factory.c (mail_hash_storage): Function to add a
	store/storage mapping.
	(add_storage): Use it.

	* mail-vfolder.c (vfolder_uri_to_folder): Use the vfolder name
	rather than the string "mbox" (which wasn't ever used for
	anything) in the vfolder URL. (Combined with the CamelVeeFolder
	change, this makes camel_folder_get_name() return a pretty name
	for vfolders now.) Call mail_hash_storage() to record the
	CamelVeeStore/vfolder_storage mapping. (Ideally, there'd only be a
	single CamelVeeStore... this is just a quick hack.)

	vfolders now display their unread count once you've looked at them
	once.

svn path=/trunk/; revision=7712
2001-01-22 18:47:01 +00:00
f803abb65f Detect created and deleted vfolders.
svn path=/trunk/; revision=7126
2000-12-22 00:29:14 +00:00
a66eae1674 Complete the code to associate a URI and a folder type to the toplevel
node in a storage.  It sucks a bit and needs a little more
refactoring.

svn path=/trunk/; revision=6878
2000-12-09 00:55:57 +00:00
97f16d13a4 Add some g_return_if_fail()s to protect from crashes until the code to
* mail-callbacks.c: (various)
	* folder-browser.c (filter_mlist):
	* mail-autofilter.c (filter_gui_add_from_message):
	* mail-vfolder.c (vfolder_gui_add_from_message): Add some
	g_return_if_fail()s to protect from crashes until the code to
	enable/disable commands based on how many messages are selected is
	done.

svn path=/trunk/; revision=6840
2000-12-07 19:19:48 +00:00