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
2000-01-28 Christopher James Lahey <clahey@helixcode.com>
* widgets/test-reflow.c: Set the minimum_width.
* widgets/e-reflow.h, widgets/e-reflow.c: Added one more column
line so that the right edge of the reflow will have a line. Also
added a minimum_width so that even if the reflow is thinner than
the window, when you resize it larger all the lines are drawn.
svn path=/trunk/; revision=1648
2000-01-27 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-reflow.h, widgets/e-reflow.c: Added an arrow cursor
for the draggable columns. Made the clickable column area
larger.
* widgets/e-text.h, widgets/e-text.c: Added an I beam cursor for
the text item when it is editable.
* widgets/e-minicard-label.c: Forward enter and leave
notifications to the contained editable text item.
svn path=/trunk/; revision=1647
2000-01-26 bertrand <bertrand@helixcode.com>
* widgets/shortcut-bar/e-icon-bar.c (e_icon_bar_recalc_item_positions):
don't set the x_set and y_set
arguments as don't exist in gdk-pixbuf
anymore.
svn path=/trunk/; revision=1640
2000-01-25 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-reflow.c, widgets/e-minicard.c: Handle shift-tab
properly now.
* widgets/e-minicard-label.c: Reindented some areas.
* widgets/test-reflow.c: Use e-canvas. Set the back pixmap to
NULL for the canvas so that scrolling won't flash grey.
* widgets/e-canvas.c, widgets/e-canvas.h: These subclass
GnomeCanvas to work around a few bugs so that evolution will work
well with old versions of gnome-libs.
* widgets/Makefile.am: Added e-canvas.c and e-canvas.h.
* addressbook/contact-editor/contact-editor.glade: Not much
change. Mostly internal reorganization by glade itself.
svn path=/trunk/; revision=1638
2000-01-25 Christopher James Lahey <clahey@helixcode.com>
* addressbook/printing/smallbook.ecps: Example contact printing
style. Not used yet.
* addressbook/printing/e-contact-print.glade: A glade file for
editing contact printing styles. Not used yet.
* addressbook/printing/test-print.c: Test file for printing.
* addressbook/printing/e-contact-print.c,
addressbook/printing/e-contact-print.h,
addressbook/printing/e-contact-print-types.h,
addressbook/printing/Makefile.am, addressbook/printing/.cvsignore:
New files for contact printing support.
* addressbook/Makefile.am (SUBDIRS): Add printing.
* configure.in: Check for gnome-print. Build the
addressbook/printing Makefile.
svn path=/trunk/; revision=1634
2000-01-24 bertrand <bertrand@helixcode.com>
* camel/camel-data-wrapper.h:
* camel/camel-data-wrapper.c
(_set_input_stream):
(_get_input_stream):
(_set_output_stream):
(_get_output_stream):
The CamelDataWrapper can now be provided with input and
output streams, so that nothing has to be kept in memory.
* camel/camel-stream.c (camel_stream_class_init):
added the "data_available" signal.
svn path=/trunk/; revision=1624
2000-01-24 Federico Mena Quintero <federico@helixcode.com>
* configure.in: Added the gnome-pilot and capplet checks; they
will likely be reworked for the Evolution framework, but for now
the calendar/ directory needs them.
* configure.in: Added checks for gnome-vfs.
2000-01-24 Federico Mena Quintero <federico@helixcode.com>
* tlacuache.c: New main module for the Tlacuache personal calendar
server.
* tlacuache.gnorba: New gnorba file for Tlacuache, the GNOME
personal calendar server.
* Makefile.am: Added the stuff necessary to build Tlacuache.
* cal.c (Cal_get_uri): Convert the URI to a string before
returning it.
* cal-factory.c (CalFactory_create): Doh, this function is void.
* job.c (job_add): Use g_idle_add(), not gtk_idle_add().
svn path=/trunk/; revision=1623
2000-01-24 bertrand <bertrand@helixcode.com>
* camel/camel-seekable-stream.c:
* camel/camel-seekable-stream.h:
* camel/camel-simple-data-wrapper-stream.h: parent class is now
CamelSeekableStream
* camel/camel-stream-buffered-fs.h: idem
* camel/camel-stream-buffered-fs.c: idem
* camel/camel-stream-mem.h: idem
* camel/camel-stream-mem.c: idem
(_seek): change declaration
* camel/camel-stream-fs.c: parent class is now
CamelSeekableStream
(_seek): change declaration
* camel/camel-stream-fs.h: parent class is now
CamelSeekableStream
Major compatible change in the stream hierarchy.
Removed the seek method from the general streams
so that we can use them as "DataSources".
svn path=/trunk/; revision=1622
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
* camel/camel-formatter.c (write_header_info_to_stream): new
function, broken out from 'camel_formatter_make_html'.
(write_mimepart_to_stream): same.
(find_text_body_part_in_multipart_related): new function.
(camel_formatter_make_html): Now tries to deal with
multipart/related, multipart/alternate, and text/(plain|html).
svn path=/trunk/; revision=1619
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-21 Federico Mena Quintero <federico@helixcode.com>
* libversit/vcc.y: Removed the VFS crap; my mistake, it should not
go here.
* configure.in: Added yacc requirements for libversit.
svn path=/trunk/; revision=1603
* camel/camel-formatter.c, camel/camel-formatter.h: New
files. You'll be able to use a CamelFormatter to get
html-formatted versions of a CamelMimeMessage.
svn path=/trunk/; revision=1600
* widgets/e-text-event-processor-types.h: Changed some line
spacing.
* widgets/test-reflow.c: Connected to the resize signal of the
reflow.
* widgets/e-minicard.c: Made width argument set function only
update if width is different.
* widgets/e-reflow.h, widgets/e-reflow.c: Added draggable column dividers.
* addressbook/contact-editor/test-editor.c: Open two dialogs for
more interesting testing.
* addressbook/contact-editor/e-contact-editor.h,
addressbook/contact-editor/e-contact-editor.c: Modified to use
glade. Added menus to change which phone/address/email entries to
view. Added images to the dialog.
* addressbook/contact-editor/e-contact-editor-strings.h,
addressbook/contact-editor/contact-editor.glade: Glade files for
the contact editor dialog.
* addressbook/contact-editor/Makefile.am: Added images and added
glade stuff.
* addressbook/contact-editor/arrow.png,
addressbook/contact-editor/briefcase.png,
addressbook/contact-editor/netfreebusy.png,
addressbook/contact-editor/netmeeting.png: Image files for the
contact editor dialog.
svn path=/trunk/; revision=1599
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