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
2000-02-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
* configure.in: Make gnomeui the last library on the command line,
as its path is the one most likely to hold other old libraries
(libxml) and we need newer versions.
svn path=/trunk/; revision=1844
2000-02-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
* configure.in (have_pthread): Use the new method for gnome-print
checking instead of the old crufty gtk+ based one that nobody can
svn path=/trunk/; revision=1839
2000-02-17 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-formatter.c (handle_text_plain):
(handle_text_html): use camel_stream_reset instead
of seek. The formatter should be able to work
with all streams, not only seekable streams.
In the case where some provider implementation
would not be able to provide a reset method
to their stream, implementors would have
to find a workaround.
* camel/camel-session.c (camel_session_new): use
(void) instean of () in function decl.
* camel/camel-folder.c: ifdef async operation
related code.
* camel/camel-seekable-stream.c (_seek): added a warning.
(_reset): default implementation of reset for seekable
stream.
* camel/camel-mime-message.h: set_received_date declaration fix.
cosmetic changes.
* camel/providers/mbox/camel-mbox-provider.c (camel_provider_module_init):
use (void) instead of ().
* camel/camel-stream.c (camel_stream_reset):
new method for CamelStream.
svn path=/trunk/; revision=1835
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-16 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-seekable-substream.c (_set_bounds): don't
seek the begining of the substream.
(_eos): fix eos condition testing.
(_finalize): unref parent stream
(_init_with_seekable_stream_and_bounds): ref parent stream
* camel/gstring-util.c (g_string_equal_for_hash):
(g_string_equal_for_glist): return type is int.
* camel/camel.h:
* camel/camel.c (camel_init): use (void)
instead of ().
A lot of other small changes to make the set_input_stream
scheme work. It actually works.
svn path=/trunk/; revision=1798
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
2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/gmime-utils.c (get_header_array_from_stream): use the
eos stream method.
(gmime_read_line_from_stream): ditto.
* camel/camel-stream-fs.h (struct ): add the eof field
cosmetics changes.
* camel/camel-stream-fs.c (camel_stream_fs_init): set eof.
(_read): set eof on end of file.
(_eos): implemented.
* camel/gmime-utils.c (get_header_array_from_stream):
make a blocking version of the header parser.
When the fs stream uses gnome-vfs, this should
be changed.
(gmime_read_line_from_stream): ditto.
svn path=/trunk/; revision=1779
2000-02-14 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/gmime-utils.c (get_header_array_from_stream):
make a blocking version of the header parser.
When the fs stream uses gnome-vfs, this should
be changed.
(gmime_read_line_from_stream): ditto.
2000-02-11 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-stream-fs.c:
everywhere, when using the cur_pos field, do it
on the CamelSeekableStream object.
(_seek): small fix.
* camel/camel-seekable-stream.c (camel_seekable_stream_seek):
s/camel_stream_seek/camel_seekable_stream_seek/g
* camel/camel-seekable-stream.h:
(struct ): added a field to store the
current position.
* camel/camel-seekable-stream.c (camel_seekable_stream_get_current_position):
New function. Allows to get the current position
of a seekable stream.
In fact much more changes, but I am lazy.
This is the begining of some major changes
in camel.
svn path=/trunk/; revision=1778
+ 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
+ -1 if we fail to load the file.
+ (camel_stream_fs_new_with_name): If stream_fs->fd is -1, return
+ NULL. These changes make it so that a CamelStreamFs won't be
+ created if you give it a bogus filename; they may be replaced once
+ exception handling is in place.
svn path=/trunk/; revision=1767
+ 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-11 Christopher James Lahey <clahey@helixcode.com>
* addressbook/contact-editor/e-contact-editor.c: Fixed the
location the first time you see the drop down menus for changing
which phone, email, or snail mail address you see.
svn path=/trunk/; revision=1741
2000-02-11 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text.c (e_text_event): Made a click on a text
widget set the cursor properly.
svn path=/trunk/; revision=1740
2000-02-11 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text.h: Removed some arguments from the .h that
will never be implemented.
svn path=/trunk/; revision=1737
2000-02-10 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/data-wrapper-repository.c (data_wrapper_repository_init):
default the text/* mime types to CamelSimpleDataWrapper so
that Michael can use get_stream.
svn path=/trunk/; revision=1727
2000-02-10 NotZed <notzed@zedzone.helixcode.com>
* camel/camel-simple-data-wrapper-stream.h: The superclass is
actually a seekable stream, not just a stream.
svn path=/trunk/; revision=1726
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 NotZed <notzed@zedzone.helixcode.com>
* camel/camel-simple-data-wrapper-stream.c (read): Increment the
copy source address to match the data read offset.
(seek): Actually implement the seek.
svn path=/trunk/; revision=1722
2000-02-09 NotZed <notzed@zedzone.helixcode.com>
* camel/camel-mime-part-utils.c
(camel_mime_part_store_stream_in_buffer): If we get a -1 read,
DONT update the total bytes, and try and truncate the array in
reverse. Eek.
* camel/camel-mime-part.c (camel_mime_part_encoding_from_string):
This was DEFINETLEY not the right way to do it. strncmp!=strcmp
(camel_mime_part_encoding_to_string): Handle the default case.
: include string.h for strcmp() etc.
svn path=/trunk/; revision=1720
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
2000-02-09 NotZed <notzed@zedzone.helixcode.com>
* camel/camel-simple-data-wrapper-stream.c (class_init): Actually
initialise the class. It simple couldn't have worked before.
(camel_simple_data_wrapper_stream_construct): Commented out code
which crashes just to get something working, memory corruption??
svn path=/trunk/; revision=1707
2000-02-09 Christopher James Lahey <clahey@helixcode.com>
* configure.in: Add new Makefiles to Makefile list.
* e-util/Makefile.am: Add canvas utilities to libeutil.
* widgets/e-text/Makefile.am: Build libetext.
* widgets/e-minicard/Makefile.am: Build libeminicard and test
programs.
* widgets/Makefile.am: Remove all e-text and e-minicard code and
add them to the SUBDIRS list.
svn path=/trunk/; revision=1706
* 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
* camel/camel-formatter.c: New member to 'CamelFormatterPrivate',
'attachments', will be used to let the caller know which items
should be treated as attachments (as opposed to objects which are
inline to the body).
(text_to_html): name changed from 'encode_entities'. Also now
converts newlines to <br> tags.
(camel_formatter_mime_message_to_html): Now takes two output
streams -- one for the header, and one for the body.
(get_bonobo_tag_for_object): New function; tries to make a tag out
of (1) the leaf of a mime message and (2) a bonobo object that can
handle its mime type, but can return NULL if it fails to find the
mime type.
(handle_vcard): New function; will write out a vcard as html.
svn path=/trunk/; revision=1696
2000-02-08 Iain Holmes <ih@csd.abdn.ac.uk>
* mail/Makefile.am: Changed the order of the compilation so the CORBA
stuff was generated before it was needed.
* shell/Makefile.am: Same.
svn path=/trunk/; revision=1695
2000-02-07 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text.h, widgets/e-text.c: Added line wrap and a max
number of lines (max number of lines is only obeyed if text is not
being edited).
svn path=/trunk/; revision=1691
2000-02-07 Christopher James Lahey <clahey@helixcode.com>
* addressbook/printing/e-contact-print.c: Removed an unneccessary
include of libhnj. All uses of libhnj are commented out.
svn path=/trunk/; revision=1690
+ 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
2000-02-03 bertrand <Bertrand.Guiheneuf@aful.org>
* camel/camel-formatter.c (find_preferred_displayable_body_part_in_multipart_alternative):
(mime_part_to_html): typo fix :
use find_preferred_displayable_body_part_in_multipart_alternative
instead of the other names. Allows camel to have no undefined symbols.
Ooops, had forgotten changelog entry.
svn path=/trunk/; revision=1662
+ 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-28 Christopher James Lahey <clahey@helixcode.com>
* addressbook/printing/e-contact-print-style-editor.h,
addressbook/printing/e-contact-print-style-editor.c,
addressbook/printing/test-contact-print-style-editor.c: Files to
load the contact print style editor from the glade file. Doesn't
really do anything yet.
* addressbook/printing/Makefile.am: Added style editor stuff.
* addressbook/printing/e-contact-print.glade: Changed a bit.
Fixed an out of place widget.
* addressbook/printing/.cvsignore: Added
contact-print-style-editor-test.
* addressbook/printing/smallbook.ecps: Fixed up the values to
match the new types.
* addressbook/printing/medbook.ecps,
addressbook/printing/phonelist.ecps: Added two new printing
styles.
* addressbook/printing/e-contact-print.h: Fixed an incorrect
comment.
* addressbook/printing/e-contact-print.c: Added columns and letter
tabs. Tweaked spacing all over the place. Fixed card height
function so that column wrapping is always done correctly. Added
pulling of style information from a file. Added line wrapping
within each text field.
* addressbook/printing/e-contact-print-types.h: Added a type field
for different types of print styles.
svn path=/trunk/; revision=1659
2000-01-28 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text.c (e_text_command): Handle the grab and ungrab
command instead of doing focus by hand. This fixes a problem
related to the scroll wheel.
(e_text_command): Reset the blink timer in many more command
situations so that the cursor blinks less when you're interacting
with it.
* widgets/e-text-event-processor-emacs-like.c: Send the grab focus
command when starting a selection and the ungrab focus command
when ending it.
* widgets/e-text-event-processor-types.h: Added grab command type
so that the event processor can tell the widget to grab the focus.
* widgets/e-reflow.c: Redefined all sizes using #defines so that
they can be tweaked later. Added scroll wheel handling and set up
adjustment increments so that the scroll bars will work correctly.
* widgets/e-minicard.h: Added minicard focus type enum. This
doesn't mean anything yet, but it will later be used to say which
direction the focus is coming from (below for shift-tab, above for
tab.)
svn path=/trunk/; revision=1650
2000-01-28 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-minicard-label.c, widgets/e-minicard.c: Use
e_canvas_item_grab_focus so that it will work with old versions of
gnome-canvas.
* widgets/e-canvas.c, widgets/e-canvas.h: Finished working around
focus bugs.
svn path=/trunk/; revision=1649