Commit Graph

11 Commits

Author SHA1 Message Date
512b1e762c Add c++ armoring.
2002-03-01  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-vtrash-folder.h:
	* camel-vee-store.h:
	* camel-vee-folder.h:
	* camel-stream-null.h:
	* camel-stream-filter.h:
	* camel-store-summary.h:
	* camel-news-address.h:
	* camel-mime-utils.h:
	* camel-mime-parser.h:
	* camel-mime-filter-save.h:
	* camel-mime-filter-linewrap.h:
	* camel-mime-filter-index.h:
	* camel-mime-filter-html.h:
	* camel-mime-filter.h:
	* camel-mime-filter-from.h:
	* camel-mime-filter-crlf.h:
	* camel-mime-filter-chomp.h:
	* camel-mime-filter-charset.h:
	* camel-mime-filter-bestenc.h:
	* camel-mime-filter-basic.h:
	* camel-internet-address.h:
	* camel-folder-thread.h:
	* camel-folder-summary.h:
	* camel-folder-search.h:
	* camel-filter-driver.h:
	* camel-charset-map.h:
	* camel-address.h: Add c++ armoring.

	* camel-object.h: s/class/klass

svn path=/trunk/; revision=15885
2002-03-01 21:39:17 +00:00
4ca07463a0 More fixing of the license texts.
svn path=/trunk/; revision=14217
2001-10-27 18:21:05 +00:00
0
a6aba35df1 Build the path on the folderinfo.
2001-09-20    <NotZed@Ximian.com>

        * providers/local/camel-maildir-store.c (camel_folder_info_new):
        Build the path on the folderinfo.

        * providers/local/camel-spool-store.c (get_folder_info): If we
        have this folder open, then set unread from the folder itself.
        (get_folder_info): Change the INBOX path to not include the
        leading /.

        * providers/local/camel-spool-folder.c
        (camel_spool_folder_construct): Fix path.
        (camel_spool_folder_construct): Properly setup the url field when
        we say we've got a new folder created.

        * providers/imap/camel-imap-store.c (unsubscribe_folder): Build
        path on folderinfo.

        * camel-store.c (camel_folder_info_build_path): Prepend / to path.

        * camel-vee-folder.c (camel_vee_folder_construct): Use macro for
        unmatched folder name.
        (camel_vee_folder_new): "

        * camel-vee-store.c (vee_get_folder_info): Use macro for unmatched
        folder name.
        (vee_delete_folder): "
        (vee_rename_folder): "
        (vee_get_folder): Prepend / onto path.
        (vee_delete_folder): Setup path in folderinfo.
        (vee_get_folder_info): Fix path in folderinfo.

        * camel-vee-folder.h (CAMEL_UNMATCHED_NAME): New define for
        unmatched (internal) name.

svn path=/trunk/; revision=13022
2001-09-20 22:58:23 +00:00
4
466e05c024 New function, set the complete list of folders on a vfolder, all at once.
2001-09-14    <NotZed@Ximian.com>

	* camel-vee-folder.c (camel_vee_folder_set_folders): New function,
	set the complete list of folders on a vfolder, all at once.
	(camel_vee_folder_set_expression): If we set the query to be the
	same thing, dont do anything.

	* camel-vee-store.c (camel_vee_store_init): Turn off vtrash for
	this store.

	* camel-store.c (camel_store_init): Enable vtrash by default via
	flags.
	(camel_store_get_trash): REturn NULL if the store doesn't support
	vtrash.
	(init_trash): Dont init if store doesn't support vtrash.

	* camel-store.h: Add a new flags CAMEL_STORE_VTRASH -> store
	supports vtrash.

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

	* camel-vee-store.c (vee_get_folder_info): Implement.
	(build_info): Used to build a folder record from the folders
	hashtable.
	(vee_delete_folder): Implemented, remove folder from hashtable.
	(vee_rename_folder): Implemented, remove old folder from
	hashtable, add new one and rename its guts too.

	* camel-store.c (camel_store_rename_folder): Do nothing if we're
	not asked to actually change names.  Also dont do the renamed
	cache check till after we've called the subclass.
	(camel_store_delete_folder): Call the subclass delete firs,t then
	make sure the cache is right.

	* camel-vee-folder.c (vee_folder_construct): Remove support for
	name?query syntax to setup vfolder.  Abort if such syntax is used.
	(camel_vee_folder_new): Removed code that handles ? syntax, etc.
	(vee_folder_build_folder): Handle unset expression, treat it as an
	empty search.
	(camel_vee_folder_set_expression): Oops, actually set the
	expression.

	* camel-vtrash-folder.c (camel_vtrash_folder_new): Dont use
	name?query syntax to setup vfolder, but set the expression
	directly.  Also fixes a small memleak.

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

	* camel-store.c (camel_store_delete_folder): Fixed warnings with a cast.
	(camel_store_rename_folder): "

svn path=/trunk/; revision=12854
2001-09-15 08:12:58 +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
fe962a2055 Big header cleanups and nntp compile fix
svn path=/trunk/; revision=9024
2001-03-29 20:31:40 +00:00
90f1194b43 Access the folder directly from the message info.
2001-03-29  Not Zed  <NotZed@Ximian.com>

	* camel-vtrash-folder.c (vtrash_move_messages_to): Access the
	folder directly from the message info.
	(vtrash_move_messages_to): I think we also need to call the real
	move_messages_to, and not try and bypass the lock, since we dont
	have the lock for that folder.

	* camel-vee-folder.h: Move CamelVeeMessageInfo to public, so
	subclasses can get to it.

	* camel-vee-folder.c (camel_vee_folder_add_folder): Dont let you
	add a vfolder to itself.
	(folder_changed):
	(vee_folder_remove_folder):
	(vee_folder_build_folder): Copy changes before triggering changed
	events, so we can do them outside of locks.
	(camel_vee_folder_get_message_folder): Removed function.
	(camel_vee_folder_hash_folder): Made public (renamed from
	hash_folder), simply for subclasses (probably not needed).

svn path=/trunk/; revision=9004
2001-03-29 02:03:06 +00:00
1d80d46ed5 Added folder_created event here.
2001-03-27  Not Zed  <NotZed@Ximian.com>

        * camel-vee-store.c (vee_get_folder): Added folder_created event
        here.

        * camel-vee-folder.c (unmatched_finalise): Removed, moved into
        main finalise code.
        (message_changed): Just create a new change entry and promote it
        to a folder_changed thing.
        (vee_sync): Always rebuild folder on sync, even when not expunge.
        (folder_changed): If not autoupdating, make sure we remove any
        removed entries.
        (vee_folder_build_folder):
        (vee_folder_remove_folder): NOP if we're called on
        folder_unmatched.
        (vee_search_by_expression): Only search each folder once.  Should
        we also order the result in summary order?

2001-03-20  Not Zed  <NotZed@Ximian.com>

        * camel-store.c (init_trash): Fix calling for vee_folder_new().

        * camel-folder-summary.c (camel_folder_summary_remove_index):
        Optimise slightly, use ptr_array_remove_index rather than have to
        search for the index by using summary_remove.

        * camel-vee-folder.h: Removed local member from VeeFolder, since
        it was never used.

        * camel-vee-store.c (camel_vee_store_finalise): Setup finalise
        function.

        * camel-vee-folder.c (camel_vee_folder_set_expression): New
        function to set the query of an existing vfolder.
        (camel_vee_folder_construct): New function for
        convenience/subclasses.
        (camel_vee_folder_new): Removed exception parameter, no longer
        needed (since we dont search yet).
        (camel_vee_folder_new): Changed to use folder_construct, and no
        longer raise the folder created signal.
        (vee_folder_build_folder): Make it return error on exception, so
        we can work without exceptions.
        (vee_folder_remove_folder): Use remove index rather than
        remove_uid, this is ok since we have the summary locked for our
        own access.
        (camel_vee_folder_add_folder): Only add the folder to the
        unmatched private if it is not a private folder.
        (camel_vee_folder_remove_folder): Only remove the folder from
        unmatched if it is not private.
        (vee_expunge): Just call sync with expunge set.
        (vee_sync): If expunging, also refresh the search.
        (vee_folder_build_folder): We do our own locking now, removed from
        callers, also trigger changed events here too (within locks),
        fixed callers appropriately.
        (vee_folder_remove_folder): Do our own locking, and trigger
        changed events.
        (vee_folder_add_info): Renamed of vee_folder_add, we now take a
        hash of the folder name, rather than use the folders address.
        (hash_folder): Convert a folder name into an 8 character hash.
        (vee_get_message, vee_search_by_expression, vee_set_message_flags,
        vee_set_message_user_flag, vee_move_message_to): Changed the uid
        to be an 8 byte hash + original uid, with no ':' anymore.

svn path=/trunk/; revision=8957
2001-03-26 23:10:40 +00:00
56737afcb1 Don't allow the user to copy a message to or from the vtrash folder. Set
2001-03-13  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder.c (camel_folder_copy_message_to): Don't allow the
	user to copy a message to or from the vtrash folder. Set an
	exception if they try.
	(camel_folder_move_message_to): This one is a bit more
	complicated: 1) If the user tried to move a message from the
	vtrash into the original folder, just undelete the message. 2) If
	the user tries to move the message to the vtrash folder, then just
	mark the message as deleted. 3) If the user tries to move the
	message from the vTrash to a folder other than the original, use
	the original folder as the source. As another optimization, I've
	made it so that if the user tries to move a message to the same
	folder, just no-op.
	(move_message_to): Unset the deleted flag before moving (assuming
	it's there).
	(copy_message_to): Same.

	* camel-vee-folder.c (camel_vee_folder_get_message_folder): New
	convenience function to get the folder from which the message uid
	is derived from.

svn path=/trunk/; revision=8677
2001-03-13 18:59:32 +00:00
ab118da377 New function to remove a folder from a vfolder.
2001-03-03  Not Zed  <NotZed@Ximian.com>

        * camel-vee-folder.c (vee_folder_remove_folder): New function to
        remove a folder from a vfolder.
        (camel_vee_folder_remove_folder): New public function to remove a
        folder from a vfolder.

svn path=/trunk/; revision=8532
2001-03-02 23:37:43 +00:00
c81bce50bb Removed all files.
2001-02-22  Not Zed  <NotZed@Ximian.com>

        * providers/vee/*: Removed all files.

        * camel-private.h: Move camel-vee-private.h stuff into here.

        * camel-session.c: Move the vee_provider here, and initialise it
        always as part of a session.  The vfolder provider is always
        available.

        * providers/Makefile.am: Remove "vee" from the build list, now
        built as part of the main library.

        * Makefile.am (libcamelinclude_HEADERS):
        (libcamel_la_SOURCES): Added camel-vee-store.[ch],
        camel-vee-folder.[ch].

svn path=/trunk/; revision=8340
2001-02-21 20:30:29 +00:00