2000-03-03 bertrand <bertrand@helixcode.com>
* tests/ui-tests/message-browser.c (main): initialize
gdkrgb. Push visual/colormap.
(on_url_requested): in the case where a camel url is requested,
write the camel stream to gtkhtml.
* tests/ui-tests/Makefile.am (filter_LDADD): add
gnomeprint in the lib list.
Message browser shows inline images. Woohoo !
svn path=/trunk/; revision=2022
2000-03-02 bertrand <bertrand@helixcode.com>
* camel-stream-b64.c (my_read_encode): don't forget to
set the state to 0 after 3.
(my_read_encode): don't forget to encode, even in state 3.
* camel-simple-data-wrapper.c: static functions are prefixed
with my_ instead of _
* camel-multipart.c: static functions are prefixed
with my_ instead of _
(my_write_to_stream): commented.
(my_write_to_stream): warning in case the boudary is set
but is a zero length string.
* camel-mime-part.c (camel_mime_part_encoding_from_string):
remove debug trace.
* camel-mime-part.c: Replaced all static functions
with name begining with _ by the same name begining
with "my_" to prevent the possible conflicts
with system symbols Dan warned us about.
Mime mail generation works now, at least with b64 encoding.
QP needs to be done now.
svn path=/trunk/; revision=2016
2000-02-29 NotZed <NotZed@HelixCode.com>
* tests/ui-tests/Makefile.am (filter_LDADD): Added test program.
* tests/ui-tests/filterdescription.xml, saveoptions.xml: Data
files for test program.
* tests/ui-tests/filter.c (main): Test program for filter ui.
svn path=/trunk/; revision=1992
to find all the changes.
Important notice, I added uggly hacks to camel-formatter.c
and message-browser so that I could test b64 decoding.
Saving streams works. Have to implement qp now.
svn path=/trunk/; revision=1893
* tests/Makefile.am: Changed dependencies on libibex.la to
libibex.a. In test9_LDADD, placed libcamelmbox.la before
libibex.la, as the former requires the latter.
svn path=/trunk/; revision=1871
2000-02-18 Matt Loper <matt@helixcode.com>
* tests/ui-tests/message-browser.c (filename_to_camel_msg): Call
camel_data_wrapper_set_input_stream, rather than
camel_data_wrapper_construct_from_stream. For the whole message,
allow someone to see the header ("to", "from", etc.). Clicking on
tree items to see their elements, now works also.
svn path=/trunk/; revision=1845
camel and tests at least compile.
Current libtool doen't seem to support lib dependancy unless
the lib is installed.
Removed the dependancy on libex in mbox and added it to the
other Makefile.am that link with libcamel.
svn path=/trunk/; revision=1838
2000-02-17 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-formatter.c (handle_text_plain):
revamped so that it uses the output stream
of the data wrapper
(handle_text_html): ditto.
* camel/camel-simple-data-wrapper.h:
* camel/camel-simple-data-wrapper.c (camel_simple_data_wrapper_new):
use (void) instead of ().
(_get_output_stream): simple implementation.
A lot of small fixes so that the new parser scheme
works properly. Simple implementation of the stream
though.
Changed vette-formatter files so that they work with the
new scheme.
The new parser is now in a usable state. Still needs some work but the
infrastructure is here. /me is happy.
svn path=/trunk/; revision=1822
2000-02-15 bertrand <bertrand@helixcode.com>
* camel/camel-multipart.c (_localize_part):
this routine replaces the _read_part routine
and does not store the part in a buffer.
(_set_input_stream): use the set_input_stream
instead of the construct_from_stream.
each bodypart is given an input stream.
* camel/camel-mime-part-utils.c:
include the data-wrapper-repository header.
(camel_mime_part_construct_content_from_stream):
use the set_input_stream instead of the
construct_from_stream method.
* camel/camel-seekable-substream.c (_set_bounds):
cur position is set to 0 not to inf_bound.
Sync
svn path=/trunk/; revision=1790
2000-02-14 Miguel de Icaza <miguel@gnu.org>
* camel/providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Add
the unicode libraries as well.
* camel/camel-provider.c (camel_provider_register_as_module): Add
error reporting here. Desire to use Solaris increases. Hair loss
in the last two hours: 5,400.
* camel/providers/mbox/camel-mbox-provider.c
(camel_mbox_get_provider): Renamed function.
* camel/camel.h: All include files use camel/ now here.
* camel/providers/mbox/Makefile.am: Drop all the dynamism from
Camel, and make this a standard library.
* configure.in: set the UNICODE_LIBS variable here.
2000-02-14 Miguel de Icaza <miguel@gnu.org>
* folder-browser.c (folder_browser_load_folder): New routine,
loads a camel folder.
(folder_browser_set_uri): redo.
* session.c: new file. Implements SessionStores to keep track of
a Session/Store tuple.
svn path=/trunk/; revision=1783
2000-02-15 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-mime-part.c: include gmime-base64.h
various compilation and runtime fixes.
(_set_input_stream): store the input substream
for the content object.
* camel/camel-data-wrapper.h: declare the
set/get function on input/output stream.
* camel/camel-mime-part.c (_get_content_object):
don't use a temporary mem stream.
* camel/camel-seekable-substream.c (_seek):
(_eos):
(_read): the substream can be unlimited in length
* camel/camel-data-wrapper.c (camel_data_wrapper_class_init):
set the get/set_input/output_stream methods.
* camel/camel-multipart.c (_construct_from_stream):
camel_stream_seek -> camel_seekable_stream_seek
work on the new parser scheme.
temporary sync to laptop.
svn path=/trunk/; revision=1781
+ crashes message-browser.
+
+ * tests/ui-tests/message-browser.c (get_gtk_html_window): Takes a
+ CamelMimeMessage as a param, rather than a filename.
+ (main): Puts our windows in an hpane rather than a vbox. Also
+ opens a file dlg box if a filename wasn't given as a first param.
svn path=/trunk/; revision=1771
+ items.
+ (mime_message_to_html): New function; translates a
+ CamelMimeMessage into two strings (one for the header, and one for
+ the body).
+ (get_gtk_html_window): New function; fills out a window with
+ html. The html is taken from a processed rfc822 file, via a
+ CamelFormatter.
+
+ * camel/camel-formatter.c: Added assertions.
+ (handle_text_html): Don't call text_to_html on something that's
+ already html.
+ (multipart_foreach): function deleted.
+
+ * mail/html-stream.c (html_stream_new): Second param of
+ gtk_html_begin should be "", not NULL.
+ (html_stream_new): gtk_html_parse() is deprecated, so the call was
+ removed.
svn path=/trunk/; revision=1766
* mail/html-stream.h: HTMLStreamClass's parent changed to
CamelStreamClass, not CamelStream.
* tests/ui-tests/message-browser.c: Added preliminary support for
the viewing of messages via gtkhtml. Lots of commenting.
svn path=/trunk/; revision=1765
2000-02-10 bertrand <Bertrand.Guiheneuf@aful.org>
* tests/Makefile.am (THREAD_RELATED_TESTS): don't
build thread related tests if evolution has been
compiled with no thread support.
* configure.in (have_pthread): allow user to enable/disable
thread support at configure time
(EXTRA_GNOME_CFLAGS):
(EXTRA_GNOME_LIBS): thread support is directly
included in this variable if enabled. No more
EXTRA_GNOME_CFLAGS_THREADS
Other special support should be added in
EXTRA_GNOME_LIBS and EXTRA_GNOME_CFLAGS
instead of redefining a new variable
each time we want to add a new lib.
(bonobo, ....)
* camel/camel.c (camel_init): only try to initialize threads if
we enabled threads support.
* tests/ui-tests/Makefile.am (message_browser_LDADD): use
EXTRA_GNOME_LIBS
* configure.in (have_pthread): remove HAVE_PTHREADS
variable. Define ENABLE_THREADS instead.
* camel/Makefile.am: use ENABLE_THREADS not HAVE_PTHREADS
to test if we build thread relateed code.
* tests/Makefile.am: use EXTRA_GNOME_LIBS,
not EXTRA_GNOME_LIBS_THREADS
I need to be able to disable thread support to use Insure.
svn path=/trunk/; revision=1725
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