2000-02-09 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/ui-tests/message-browser.c (handle_tree_item):
show the containers and the containees
(get_message_tree_ctrl): call handle_tree_item
on the message itself
svn path=/trunk/; revision=1714
2000-02-09 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-mime-message.c (camel_mime_message_init):
set the mime type to "mime/message".
--- THIS IS NOT THE CONTENT TYPE ---
* camel/camel-mime-body-part.c (camel_mime_body_part_init):
set the mime type to "body-part".
--- THIS IS NOT THE CONTENT TYPE ---
* camel/camel-data-wrapper.c (camel_data_wrapper_set_mime_type):
mime_type is const.
(_set_input_stream): really set the input stream
(_set_output_stream): really set the output stream
various other typo fixes.
* tests/ui-tests/message-browser.c: various typo
fixes in the ctree construction.
svn path=/trunk/; revision=1712
2000-02-09 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/ui-tests/message-browser.c: various typo
fixes in the ctree construction.
* camel/string-utils.c (string_trim): fix braindead
trailing trim bug.
* camel/gmime-content-field.c (gmime_content_field_construct_from_string):
strip the leading and trailing quotes when constructing the
content field. This should be done in a more generic
RFC822 approach, but this fixes a bug that prevent
matt from analysing some multipart messages.
* camel/camel-data-wrapper.h: reorganize the
deprecated and new methods.
* camel/providers/mbox/camel-mbox-folder.c
(_check_get_or_maybe_generate_summary_file):
Use "From " as the message separating string.
* camel/providers/mbox/camel-mbox-folder.c (_append_message):
set the mode when creating the mbox file.
* camel/providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev):
ditto
* camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary):
ditto
svn path=/trunk/; revision=1711
* tests/ui-tests/message-browser.c: New file; shows a message in
tree format, where multipart's have multiple leaves.
* camel/camel-formatter.c: Changed references from
'multipart/alternate' to 'multipart/alternative'.
svn path=/trunk/; revision=1700
+ buffer length of the stream to create strings which are then
+ printed, rather than printing the stream (which might not have a
+ trailing \0) directly.
+
+ * camel/camel-formatter.c (str_tolower): New function; makes a
+ string lowercase.
svn path=/trunk/; revision=1698
+ which gives usage information.
+
+ * camel/camel-formatter.c: made the 'stream' a member of the
+ CamelFormatter class, so that streams don't have to be explicitly
+ sent as a param where a CamelFormatter is also sent..
+ (handle_text_plain): Use 'encode_entities' to change '<' to
+ '>', etc.
svn path=/trunk/; revision=1687
+ CamelFormatter class.
+
+ * camel/camel-formatter.c: Lots of cleanup, commenting, some new
+ functions, and a really basic skeleton for getting bonobo objects
+ into the html.
+ (encode_entities): New function, stolen from Daniel Velliard.
svn path=/trunk/; revision=1660
2000-01-24 bertrand <bertrand@helixcode.com>
* camel/camel-recipient.c (camel_recipient_table_add_list):
add recipient_list to the recipients, not recipients_list.
I don't know what that variable was doing here.
2000-01-23 bertrand <bertrand@helixcode.com>
* camel/camel-store.c (camel_store_get_session):
added a public get_session method.
* camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary):
(camel_mbox_load_summary): load/save message sizes in the summary file
* camel/providers/mbox/camel-mbox-summary.h:
added a size field to the message information
structure.
* camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary):
copy message size to the mbox summary information too.
* camel/camel-stream-fs.c (_seek): updated to
work with bounded fs streams.
(_write): ditto.
(_read): ditto.
* camel/camel-stream-fs.h (struct ):
added the cur_pos, inf_bound and sup_bound
members to allow for bounded fs stream.
* camel/camel-stream-fs.c (_set_bounds): new func.
(_init_with_fd_and_bounds): idem.
(_init_with_name_and_bounds): idem.
New functions to allow the usage of bounded fs streams.
The bounded fs stream allow, for example, to make a stream
from a message stored in an mbox file.
svn path=/trunk/; revision=1620
2000-01-22 bertrand <bertrand@helixcode.com>
* camel/providers/mbox/camel-mbox-folder.c (_check_get_or_maybe_generate_summary_file):
use the real summary file path instead of a
stupid hardcoded one. Fixes yet another bug.
* camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary):
don't forget to copy the date too. Fix a very annoying bug.
* camel/providers/mbox/camel-mbox-folder.c (_append_message):
implemented. A lot of fixes too. Works now.
(_get_uid_list): implemented.
svn path=/trunk/; revision=1609
2000-01-22 bertrand <bertrand@helixcode.com>
* camel/providers/mbox/camel-mbox-folder.c (_append_message):
implemented. A lot of fixes too. Works now.
svn path=/trunk/; revision=1608
2000-01-21 bertrand <bertrand@helixcode.com>
* tests/test10.c:
test the mbox provider.
* camel/camel-folder.c (_set_name):
if camel_folder_get_mode returns an
exception, return it instead of
overriding it with a new one.
(camel_folder_is_open): make the is_open
method public.
(_set_name): use the is_open instead of
get_mode.
(_set_name): set the fullname even in the case
where the folder has no parent.
(_set_name): use %c, not %d to add the
separator char into the full path.
svn path=/trunk/; revision=1606
2000-01-21 bertrand <bertrand@helixcode.com>
* camel/camel-store.c: add exception handling everywhere in
the store related functions arguments.
* camel/providers/mbox/camel-mbox-folder.c: idem
* camel/providers/mbox/camel-mbox-folder.h: idem
* camel/providers/mbox/camel-mbox-store.h: idem
* camel/providers/mbox/Makefile.am (libcamelmbox_la_SOURCES):
added camel-mbox-provider.c to the mbox provider
sources.
svn path=/trunk/; revision=1605
2000-01-21 bertrand <bertrand@helixcode.com>
* camel/providers/mbox/Makefile.am (libcamelmbox_la_SOURCES):
added camel-mbox-provider.c to the mbox provider
sources.
* camel/providers/mbox/camel-mbox-provider.c:
provider registration code.
* camel/providers/mbox/camel-mbox-folder.c (_get_message_count): implemented
(_append_message): implemented
* camel/providers/mbox/camel-mbox-parser.c (initialize_buffer):
use \0 to mark the end of the buffer.
(read_next_buffer_chunk): ditto.
(read_header): test the presence of a \0 instead of
reading the eof field
(read_message_begining): idem.
(camel_mbox_parse_file): idem.
Remove the eof field from the parser
structure.
(read_next_buffer_chunk): removed some nasty bugs
again.
svn path=/trunk/; revision=1604
2000-01-19 bertrand <bertrand@helixcode.com>
* camel/providers/mbox/camel-mbox-folder.c (_get_message_count):
implemented.
* camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary):
(camel_mbox_load_summary): save/load the next uid.
* camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file):
Compute the next available uid.
* camel/providers/mbox/camel-mbox-folder.c (_create):
(_check_get_or_maybe_generate_summary_file):
Set and use the next_uid field properly.
* camel/providers/mbox/camel-mbox-summary.h: added
an extra field to store the next available uid.
* camel/providers/mbox/camel-mbox-folder.c
(_check_get_or_maybe_generate_summary_file):
routine called when the folder is opened.
Reads or creates the summary file.
(_create): initialize the internal summary
structure.
(_close): save the summary file on closing.
(_init_with_store): initialize mbox specific
folder members.
svn path=/trunk/; revision=1597
2000-01-18 bertrand <bertrand@helixcode.com>
* tests/test9.c:
tests for summary and parsing process of mbox files.
* camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file): do
not use case insensitive comp to detect message separators. Kill
some nasty bugs in netscape file parsing,
* camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary):
don't use g_array_append but write directly inside the
array data instead. Better performance and bug fix.
* camel/providers/mbox/camel-mbox-summary.c (camel_mbox_load_summary):
fix the name and bugs.
* camel/camel-folder-summary.h: update the class
method definition to match the public defs.
svn path=/trunk/; revision=1592
2000-01-18 bertrand <bertrand@helixcode.com>
* camel/providers/mbox/camel-mbox-summary.c (camel_mbox_save_summary):
(mbox_load_summary): summary file read/write routines.
* camel/providers/mbox/camel-mbox-utils.c (parsed_information_to_mbox_summary):
routine to construct the summary after the mbox
file has been parsed and the x-evolution fields
inserted.
* camel/providers/mbox/camel-mbox-utils.c (camel_mbox_write_xev):
dont use the x_evolution field but rather the uid to
determine the presence of "X-Evolution" in the mail.
* camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file):
parse the status and uid values if the x-evolution
has been found.
* camel/providers/mbox/camel-mbox-utils.c (camel_mbox_xev_parse_header_content):
return the parsed status field correctly.
* camel/providers/mbox/camel-mbox-utils.h:
fixed bad prototype.
* camel/providers/mbox/camel-mbox-parser.c (camel_mbox_parse_file):
parse and store the "To:" header.
* camel/providers/mbox/camel-mbox-parser.h:
added a "to" field
* camel/camel-folder-summary.c:
create the arrays here.
* camel/camel-folder-summary.h: the list of
summary information is no longer a GList but
rather a GArray.
Parsing/summary/sync-check is here. Needs testing
and integration with the rest of the folder code.
svn path=/trunk/; revision=1589
2000-01-17 bertrand <bertrand@helixcode.com>
* tests/test9.c (main): test for the mbox utils.
(copy_file_chunk): fixed a nasty bug.
(camel_mbox_write_xev): create the copy file descriptor
with the proper arguments. Exceptions implememnted.
(camel_mbox_write_xev): changed the way bytes are counted.
No more uses the message size cause it did not take into
account the message separators characters.
(camel_mbox_write_xev): hopefully fixed the last bugs.
works ok now.
Summary information / X-Evolution header generation should all
work ok now.
svn path=/trunk/; revision=1579
2000-01-12 bertrand <bertrand@helixcode.com>
* tests/Makefile.am (noinst_PROGRAMS):
remove non updated tests from the build
process.
* camel/Makefile.am :
remove the rfc2047 related files from
the build process as for the moment, nothing
has been decided concerning unicode.
* Makefile.am (evolution_msg_composer_LDADD):
use $(EXTRA_GNOME_LIBS_THREADS) to link with gthread
svn path=/trunk/; revision=1564
Lots of reorganization to get the Evolution shell to begin its life.
It also includes a new evolution widget from Damon.
Miguel.
svn path=/trunk/; revision=1536
is now functional. The signal proxy needs to be tested
though. The thread proxy folder is being implemented.
A rough summary :
1999-10-13 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-folder.c (camel_folder_close): the
folder->close method is now asynchronous.
* camel/camel-folder-pt-proxy.c (_folder_open_cb):
(_open):
(_folder_open_cb):
(_open):
open/close method implemented in the thread proxy
folder. More to come.
* camel/camel-exception.c (camel_exception_xfer):
new utility func.
* camel/camel-marshal-utils.c: some new marshallers
* camel/camel-folder-pt-proxy.c: Some explanations
on the thread proxy system.
1999-10-11 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-marshal-utils.c:
camel/camel-marshal-utils.h:
Handles operation marshalling.
* camel/camel-thread-proxy.c:
camel/camel-thread-proxy.h:
new files. Generic proxy system.
* camel/camel-folder-pt-proxy.c
moved all proxy related code in dedicated files.
(camel_folder_pt_proxy_init):
removed proxy initialisation code
(_finalize):
removed proxy finalization code
* camel/camel-exception.c
(camel_exception_new):
(camel_exception_set):
(camel_exception_free):
New funcs.
svn path=/trunk/; revision=1328
* Added corba-like exception system to CamelFolder.
The exception system is not finished but I wanted
the async and event implementation to get this right
from the beginning.
svn path=/trunk/; revision=1256
1999-09-21 bertrand <Bertrand.Guiheneuf@aful.org>
* configure.in:
Check pthreads.
* camel/Makefile.am:
camel-folder-pt-proxy.c is only compiled
when pthreads are available.
svn path=/trunk/; revision=1247
1999-09-08 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/ui-tests/store_listing.c (close_all):
close all open folders and stores. (necessary
for UID list saving ).
* camel/providers/MH/mh-uid.c (mh_generate_uid_list):
fix: store UID list in CamelMHFolder object.
* camel/providers/MH/camel-mh-folder.c (_open):
read or create UID list.
(_close): save UID list.
svn path=/trunk/; revision=1192
1999-09-05 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/ui-tests/store_listing.c (show_folder_messages):
re-enabled old CPU/Mem consumming
method. Use ful for pop3 for instance.
svn path=/trunk/; revision=1179
1999-09-05 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/ui-tests/store_listing.c (show_folder_messages):
use folder summary instead of opening all messages.
* camel/providers/MH/camel-mh-folder.c (_create_summary):
basic and highly non-efficient summary implementation.
Should be seen as a proof of concept only.
subfolder summary still has to be implemented.
* camel/providers/maildir/camel-maildir-folder.c (_init_with_store):
hasn't summary for the moment.
* camel/providers/maildir/camel-maildir-folder.c
cosmetic changes.
svn path=/trunk/; revision=1178
1999-08-28 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-mime-part.c (camel_mime_part_set_text):
text parameter declared const
* camel/camel-mime-part-utils.c (camel_mime_part_store_stream_in_buffer):
actually test correctly nb_bytes_read_chunk is >0
* camel/gstring-util.c:
* camel/gmime-content-field.c:
* camel/providers/MH/camel-mh-folder.c:
* camel/camel-stream-fs.c:
include string.h
* camel/camel-stream-mem.c (_write): return
the numver of written bytes.
* camel/camel-stream-buffered-fs.c (_eos):
return sthg
* camel/camel-stream.c (default_camel_seek):
return something.
* Started to work on new recipient code.
* fixed various leaks.
svn path=/trunk/; revision=1146
1999-08-26 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-mime-part.c (_get_content_object):
contruct the content from the buffer before calling
CamelMedium implementation.
(_construct_from_stream): Do not construct the content
by default, just store the content bytes in
a temporary buffer. Content will be constructed only
at caller request (when calling CamelMedium::get_content_object)
Providers with better access to the messages (mbox/MH ...)
will have to provider lighter implementation, that is
shall not read content at all unless the caller asks
for it (again with get_content).
* camel/camel-mime-part-utils.c: new file, groups
mime-part related utils. Meant to be used by providers
subclassing MimeMessage.
(camel_mime_part_construct_headers_from_stream):
(camel_mime_part_construct_content_from_stream):
no more useless temporary hash table.
* camel/camel-mime-part.c (_construct_from_stream): calls
mime-part-utils functions now.
* camel/gmime-utils.c (_store_header_pair_from_string):
do not use hash table to store header, use an array instead.
svn path=/trunk/; revision=1145
1999-08-25 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-mime-part.c: now descend from CamelMedium.
* tests/test1.c (main): all headers must be strdup'ed
(main): unref created objects
svn path=/trunk/; revision=1143
1999-08-17 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-stream.c (camel_stream_read):
return the number of bytes read.
How can this have ever worked ?
(camel_stream_flush): don't return anything.
* camel/gmime-utils.c (get_header_table_from_stream):
mem leak fixed.
+ various other mem leaks.
svn path=/trunk/; revision=1120
1999-08-16 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/ui-tests/store_listing.c:
Now has a popup menu on mailbox tree to allow
easier tests. Implemented the copy stuff.
Works well for the MH provider :)))
* camel/providers/MH/camel-mh-folder.c (_copy_message_to):
Test MH provider fast copy implemented.
svn path=/trunk/; revision=1119
1999-08-15 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-folder.c (camel_folder_expunge):
moved the active list readjustment code here.
Much saner, providers won't have to worry about
that.
* camel/providers/MH/camel-mh-folder.c (_expunge):
no more active list readjustment stuff.
* camel/camel-folder.h: the expunge virtual no more
returns a list of expunged messages. Now providers
only have to set the expunge flag on the expunged
messages.
* camel/camel-folder.c (camel_folder_get_message):
moved the caching code here. Finally, I don't want
providers to crash the libs with a bad message cache
implementation.
(_close): do not call the CamelFolder virtual expunge
method directly, use camel_folder_expunge() instead.
(camel_folder_expunge): added the want_list param.
The client can decide if it wants the expunged message
list or not. If yes, it'll have to unref the messages
itself.
svn path=/trunk/; revision=1117
1999-08-13 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-folder.c (_get_message): default implementation
to be called first by providers methods. It looks in the
folder message list (in memory) to see if the message has
not already been retrieved, and in this case, returns
the same CamelMimeMessage object
Caching messages in folder kworks. Providers will have to
do their job correctly.
Enough for today.
svn path=/trunk/; revision=1113