aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-display.h
Commit message (Collapse)AuthorAgeFilesLines
* Re-implemented to use streams. Also no need to check for html sinceJeffrey Stedfast2002-12-171-7/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-16 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (handle_text_plain): Re-implemented to use streams. Also no need to check for html since camel-mime-part-utils.c now does this for us and will re-tag the mime-type as text/html thus the UI can be completely ignorant of this process. (handle_text_plain_flowed): Removed. (write_one_text_plain_chunk): Removed. (try_uudecoding): Removed. (try_inline_binhex): Removed. (handle_text_enriched): Re-implemented to use streams too. 2002-12-15 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (write_text_header): Change the order of the args to be consistant with other write functions. (write_date): Same. (write_field_row_begin): Here too. (write_headers): Here too. (write_one_text_plain_chunk): Don't strdup just to pass it to mail_text_write() so that it can dup it yet again into html text and dup it yet a 3rd time into a GByteArray. Instead just write it to gtkhtml. (handle_*): Fixed arguments to take a MailDisplayStream instead of a GtkHTML widget and a GtkHMLStream. * mail-display.c (mail_display_render): Create a MailDisplayStream to pass to mail_format_mime_message() and mail_format_raw_message(). * mail-display-stream.[c,h]: New stream to replace mail-stream-gtkhtml.c * mail-stream-gtkhtml.[c,h]: Removed. svn path=/trunk/; revision=19126
* gnome_pixmap -> gtkimage. (construct): gtk_clist -> gtk_tree_view, setupNot Zed2002-12-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-27 Not Zed <NotZed@Ximian.com> * message-tag-followup.c (construct): gnome_pixmap -> gtkimage. (construct): gtk_clist -> gtk_tree_view, setup columns. They dont size well :-/ (message_tag_followup_append_message): Append using model, remove clist stuff. (construct): Show date edit (glade bugs?) * folder-browser.c (folder_browser_class_init): gtk_marshal -> g_cclosure_marshal (setup_popup_icons): gnome_pixmap -> gtk_image. (on_right_click): gtk_pixmap -> gtk_image. * mail-accounts.c (account_delete_clicked): removed #if 0'd out code. * mail-send-recv.c (receive_done): remove FIXME and extra unref. * mail-session.c (request_password): Removed #if 0'd out stuff. * mail-vfolder.c (new_rule_clicked): proper cast for g_object_get_data. * mail-local.c (reconfigure_response): cast for g_object_get_data. * mail-account-editor.c (construct): GNOME_DIALOG -> GTK_DIALOG. * *.[ch]: re-ran fix.sh for e_notice change * mail-callbacks.c (save_msg_ok): g_object_get_data + gtk_object_remove_no_notify -> g_object_steal_data. (find_socket): gtk_container_children -> gtk_container_get_children (edit_msg): gnome_*_dialog -> gtk_message_dialog. (resent_msg): " (search_msg): " (confirm_goto_next_folder): gtkmessagedialogised (even if not used). (confirm_expunge): gtkmessagedialogised (filter_edit): " (do_mail_print): e_notice -> gtk_message_dialog. (are_you_sure): removed e_gnome_ok_cancel_dialog crap, replaced with a gtk dialog. (are_you_sure): gtkmessagedialogised. (edit_msg_internal): Dont free uids array, are_you_sure() free's it. (resend_msg): Same. (check_send_configuration): Use e_notice for stuff. Sigh, here we go again ...! (e_question): A utility function to ask a question, potentially with 'dont ask again' as well. (configure_mail): use e_question to save code. Here we go again, again ... (ask_confirm_for_unwanted_html_mail): " (ask_confirm_for_only_bcc): " (ask_confirm_for_only_bcc): " (composer_get_message): Use e_notice. (composer_save_draft_cb): Use e_question (edit_msg): use e_notice, & change to an ERROR. (resend_msg): same. (save_msg_ok): Properly initialise ret to OK, and use e_question, and use access() to determine existance/write access rather than stat, display an error if we can't write to a file that exists, and print the filename in all dialogues. (confirm_goto_next_folder): Use e_question. (confirm_expunge): use e_question. (filter_edit): Use e_notice. (do_mail_print): use e_notice. svn path=/trunk/; revision=18974
* applied patches from http://bugzilla.ximian.com/show_bug.cgi?id=29588Radek Doulik2002-11-211-0/+3
| | | | svn path=/trunk/; revision=18877
* reverted wrapping patchRadek Doulik2002-09-191-3/+0
| | | | svn path=/trunk/; revision=18103
* as below (handle_text_plain_flowed): as belowRadek Doulik2002-08-311-0/+3
| | | | | | | | | | | | | 2002-08-30 Radek Doulik <rodo@ximian.com> * mail-format.c (mail_format_raw_message): as below (handle_text_plain_flowed): as below * mail-display.c (mail_text_write): put text in iframe, so it has margins and should not be placed in table which changes wrapping behavior svn path=/trunk/; revision=17933
* Updated to use the new Follow-Up tags. Instead of storing a stringJeffrey Stedfast2002-08-031-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | 2002-08-02 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (mail_display_render): Updated to use the new Follow-Up tags. Instead of storing a string containing the follow-up tag value, we now have to store the CamelMessageInfo. (mail_display_destroy): Unref the folder and the message-info. * folder-browser.c (followup_tag_complete): No longer needed. (on_right_clicked): Use the individual follow-up tags to decide whether or not to enable something. * message-list.c (ml_tree_value_at): Update to use the new Follow-Up tags. * mail-callbacks.c (flag_for_followup): Update to use the new MessageTagEditor API. (tag_editor_ok): Update this too. (flag_followup_completed): Updated this too. (flag_followup_clear): Set all the follow-up tag values to "". svn path=/trunk/; revision=17691
* setup private data. (mail_display_destroy): cancel any outstandingNot Zed2002-07-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2002-07-29 Not Zed <NotZed@Ximian.com> * mail-display.c (mail_display_init): setup private data. (mail_display_destroy): cancel any outstanding fetches, and free private data. (mail_display_set_message): Cancel any outstanding fetches. (fetch_cancelled): (fetch_next): (fetch_remote): (fetch_data): (fetch_free): (fetch_cancel): (fetch_done): Implement, used to use soup to download remote images. (load_http): Removed. (on_url_requested): When requesting a http* url, use the fetch_remote call above. * mail-display.h (struct _MailDisplay): Added priv(ate) member. svn path=/trunk/; revision=17640
* The following changes take a great leap toward fixing bug #1042.Jeffrey Stedfast2002-06-051-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | 2002-06-04 Jeffrey Stedfast <fejj@ximian.com> The following changes take a great leap toward fixing bug #1042. * mail-display.c (mail_display_push_content_location): New function to push a Content-Location value onto the MailDisplay. (mail_display_get_content_location): Gets the current Content-Location CamelURL value. (mail_display_pop_content_location): Pop the Content-Location off the stack. * mail-format.c (get_location): Do URL merging if the Content-Location isn't a full URL. If the Content-Location doesn't exist, pretend the URL is actually the Content-Location URL of our parent multipart (assuming it exists). If that doesn't exist, then yes - return NULL. (handle_multipart_related): Push the Content-Location header value of the multipart/related so that we can do URL merging in get_location() as we process each of the subparts. When we're done, pop it back off the stack. svn path=/trunk/; revision=17113
* Set the window title/icon here instead.Jeffrey Stedfast2002-04-041-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-03 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.c (construct): Set the window title/icon here instead. * message-tag-editor.c (message_tag_editor_init): Don't set the title or window icon here, this is a generic class. * mail-format.c (handle_multipart_signed): Replace get_url_for_icon with the new mail_display_get_url_for_icon function. (handle_multipart_digest): Here too. (get_cid): Use mail_display_add_url instead. (get_location): Same. (handle_text_enriched): Here too. (handle_multipart_signed): And here. * message-tag-followup.c (message_tag_followup_i18n_name): Use the U_() macro, not the _() macro as it is what we really want. * mail-ops.c (mail_send_message): Don't cast the message into a CamelMedium before sending anymore. * mail-callbacks.c (expunge_folder): Set the followup argument to NULL here. (done_message_selected): Get the followup value here and pass it to the mail-display here. (do_mail_fetch_and_print): Again with the NULL followup here. * folder-browser.c (folder_browser_set_message_preview): Update to pass in NULL as the followup since we are setting the message to NULL here. (done_message_selected): Get and set the appropriate followup value here. (do_message_selected): Update to pass in NULL as the followup since we are setting the message to NULL here. * mail-display.c (mail_display_set_message): Now takes a followup tag value. (mail_display_init): Set md->followup to NULL. (mail_display_destroy): Free md->followup. (mail_display_add_url): New: replaces the static add_url function originally in mail-format.c (mail_display_get_url_for_icon): New: replaces get_url_for_icon which was originally in mail-format.c svn path=/trunk/; revision=16334
* Update for storage changes: explicitly create a root folder.Dan Winship2002-03-081-2/+2
| | | | | | | | | | | | | | | | | * component-factory.c (add_storage): Update for storage changes: explicitly create a root folder. * mail-display.c (mail_display_render): Fix the "don't scroll back to the top of the HTML widget when opening an attachment" hack again by moving it here from mail_display_redisplay(). (It has to happen after the gtk_html_begin.) (mail_display_redisplay): Pass reset_scroll arg to mail_display_render. * mail-callbacks.c (do_mail_print): Pass reset_scroll (TRUE) to mail_display_render. svn path=/trunk/; revision=15967
* Get the Content-Base if the header exists and use gtk_html_set_base to setJeffrey Stedfast2002-02-271-2/+0
| | | | | | | | | | | | | | | | | | 2002-02-26 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (handle_text_html): Get the Content-Base if the header exists and use gtk_html_set_base to set this base url. * mail-display.c (on_link_clicked): No longer need to calculate the full url. This is now handled by GtkHTML. (on_set_base): Removed. (on_url_requested): No longer need to calculate the full url. (mail_display_initialize_gtkhtml): Don't connect to the set_base signal anymore. We don't care. * mail-display.h: No longer need base_url (it was broken anyway). svn path=/trunk/; revision=15850
* If a related part is requested, remove it from the related undisplayedNot Zed2002-02-261-0/+2
| | | | | | | | | | | | 2002-02-26 Not Zed <NotZed@Ximian.com> * mail-display.c (on_url_requested): If a related part is requested, remove it from the related undisplayed list. * mail-format.c (handle_multipart_related): Check if related parts are displayed, if not, remove them. For #2741. svn path=/trunk/; revision=15837
* New callback to handle the set_base signal. (on_url_requested): If theJeffrey Stedfast2002-01-161-0/+2
| | | | | | | | | | | | | | | | 2002-01-15 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (on_set_base): New callback to handle the set_base signal. (on_url_requested): If the base_url is set, prepend it to the data url (we don't want to do this for cid urls or part urls tho). (mail_display_init): Initialize md->base_url to NULL. (mail_display_destroy): Free the base_url. (mail_display_initialize_gtkhtml): Connect to the set_base signal. (on_link_clicked): If the base_url is set, prepend it to the url string passed to us from gtkhtml. svn path=/trunk/; revision=15329
* Fixed for mail_content_loaded's new signature.Jon Trowbridge2001-12-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-11 Jon Trowbridge <trow@ximian.com> * mail-identify.c (mail_identify_mime_part): Fixed for mail_content_loaded's new signature. * mail-format.c (attachment_header): Don't convert URLs, etc. if we are printing. (write_address): Don't convert addresses to mailto: links if we are printing. (write_one_text_plain_chunk): Add a printing flag, that we pass along to mail_text_write. (handle_text_plain): Pass our printing flag to write_one_text_plain_chunk. (mail_get_message_rfc822): Don't unneccesarily convert URLs. (mail_content_loaded): Add a GtkHTML parameter. * mail-display.c (mail_display_initialize_gtkhtml): Added. Breaks all of the signal hookups out of mail_display_new. (mail_display_new): Call mail_display_initialize_gtkhtml. (mail_text_write): Don't convert URLs, etc., if we are printing. Lots of other changes to pass around GtkHTML/GtkHTMLStream objects. * mail-callbacks.c (do_mail_print): Call mail_display_initialize_gtkhtml on our GtkHTML object. * folder-browser.c (update_status_bar): Make the status bar more useful when you have a large number of hidden messages. svn path=/trunk/; revision=14997
* Add ETable magic for our new "Needs Reply" column. (The next few entriesJon Trowbridge2001-12-121-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-11 Jon Trowbridge <trow@ximian.com> * message-list.etspec: Add ETable magic for our new "Needs Reply" column. (The next few entries are for bug #90) * message-list.h: Add COL_NEED_REPLY. * message-list.c: Move mail_need_reply_xpm to the end of states_pixmaps. (ml_duplicate_value): Handle COL_NEED_REPLY. (ml_free_value): Handle COL_NEED_REPLY. (ml_initialize_value): Handle COL_NEED_REPLY. (ml_value_is_empty): Handle COL_NEED_REPLY. Added needs_reply_map[] array. (ml_value_to_string): Handle COL_NEED_REPLY. (ml_tree_value_at): Fix magic numbers, undoing my changes from the otehr day. Add handler for COL_NEED_REPLY. (message_list_create_extras): Attach icons for COL_NEED_REPLY. (on_click): Undo my previous changes to display need-reply status in COL_MESSAGE_STATUS. Add handing for COL_NEED_REPLY. * mail.h: Change mail_format_mime_message, mail_format_raw_message and the MailMimeHandlerFn typedef to take GtkHTML and GtkHTMLStream args, as per our changes in mail-format.c. * mail-format.c: Giant refactoring. Remove the assumption throughout that we will always want to render into the GtkHTML object contained in the MailDisplay. Instead, always pass in the GtkHTML and GtkHTMLStream that we want to write to. Also, ignore theme work-arounds if the printing flag is set. (This and what follows fixes bug #82) * mail-display.h: Remove GtkHTMLStream *stream from MailDisplay. We don't need it anymore. * mail-display.c (mail_display_render): Added. Breaks the code that renders the message into the GtkHTML object out of mail_display_redisplay. (mail_display_redisplay): Call mail_display_render. (mail_display_init): Remove reference to ->stream. (mail_display_new): Remove reference to ->stream. * mail-callbacks.c (do_mail_print): Create a new GtkHTML to render our printed version into (via the new function mail_display_render. Set the MailDisplay's printing flag to TRUE before we render, and set it back to FALSE afterwards. (do_mail_fetch_and_print): If the preview pane isn't open when we try to print, fetch the message before printing. (print_msg): Call do_mail_fetch_and_print. (print_preview_msg): Call do_mail_fetch_and_print. * folder-browser-ui.c: Remove "PrintMessage" and "PrintPreviewMessage" from message_pane_enables... these now work when the preview pane is closed. Disable printing if multiple messages are selected. svn path=/trunk/; revision=14981
* Renamed from mail_html_write_string.Jeffrey Stedfast2001-11-061-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-11-01 Jeffrey Stedfast <fejj@ximian.com> * mail-display.h (mail_html_write): Renamed from mail_html_write_string. * mail-display.c (mail_text_write): Don't bother with varargs since nothing used them, we were only passing strings anyway... (mail_error_printf): Renamed from mail_error_write, this makes more sense. (mail_html_write): Removed. * mail-format.c: Updated to use gtk_html_stream_printf directly and s/mail_html_write_string/mail_html_write. (mail_lookup_handler): Don't use %.*s here either... (handle_text_enriched): Same. (write_one_text_plain_chunk): And finally here (also update for new mail_text_write api). (handle_multipart_signed): Update for new mail_text_write api. (format_mime_part): Update for new mail_error_text/printf name change. (handle_multipart_encrypted): Same. * mail-tools.c (mail_tool_generate_forward_subject): Same as mail_generate_reply. * mail-callbacks.c (mail_generate_reply): Don't use %.*s in any *printf* functions. svn path=/trunk/; revision=14590
* New fun macro.Jeffrey Stedfast2001-10-231-0/+2
| | | | | | | | | | | | | | | | | 2001-10-22 Jeffrey Stedfast <fejj@ximian.com> * mail-display.h (mail_html_write_string): New fun macro. * mail-format.c (write_one_text_plain_chunk): Use gtk_html_write instead of mail_html_write so we avoid strdup'ing the text. (handle_text_plain_flowed): Use the mail_html_write_string macro. (handle_message_rfc822): Here too. (mail_format_raw_message): We can do it here also... (attachment_header): We can do it a little bit here... (write_address): A microscopic bit here... (write_hr): same. svn path=/trunk/; revision=13925
* Create a chaqrset picker submenu in the View menu.Jeffrey Stedfast2001-10-101-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-09 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c (folder_browser_ui_add_message): Create a chaqrset picker submenu in the View menu. * mail-format.c (mail_format_raw_message): Pass the mail-display to get_data_wrapper_text. (get_data_wrapper_text): Use the user's override charset if one is provided, otherwise user the user's default charset. (handle_text_plain): Pass along the mail-display to get_data_wrapper_text. (handle_application_pgp): Same. (handle_text_enriched): Here too. (mail_get_message_body): Pass NULL as the mail-display to get_data_wrapper_text since we don't have access to a mail-display. * mail-display.c (mail_display_set_charset): New function to set a charset on the maildisplay. Once set, the message is redisplayed using the new charset. (mail_display_destroy): Free the charset. * folder-browser.c (folder_browser_charset_changed): New callback for when a user overrides the message charset. svn path=/trunk/; revision=13530
* This patch should avoid flashing when loading images into mail view, creditsRadek Doulik2001-09-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | go to Dan, Larry and me ;) (fixes ximian #6680) 2001-09-06 Radek Doulik <rodo@ximian.com> * everywhere updated for new mail_content_loaded definition (prototype) 2001-09-05 Radek Doulik <rodo@ximian.com> * mail-display.c (mail_display_redisplay): increase redisplay_counter (try_part_urls): new helper function (try_data_urls): ditto (load_content_loaded): if it has stream handle available and if it's still valid, it writes to this stream instead of redisplaying, uses try_part_urls and try_data_urls * mail-display.h: added redisplay_counter to MailDisplay, I use it in load_content_loaded to be sure that there wasn't any redisplay and that remembered handle is still valid * mail-display.c (on_url_requested): don't end stream with error if part is not loaded yet (on_url_requested): don't end stream in cases when we are going to load image using http (stream_write_or_redisplay_when_loaded): new helper function, which is extracted from mail_display_redisplay_when_loaded. it's extended to handle gtkhtml stream writting (mail_display_redisplay_when_loaded): use stream_write_or_redisplay_when_loaded (mail_display_stream_write_when_loaded): new function, uses stream_write_or_redisplay_when_loaded struct _load_content_msg: added handle, url and redisplay_counter fields * mail-format.c (mail_content_loaded): added redisplay, url and handle parameter for case when we are loading image content and want it write to stream instead of redisplaying svn path=/trunk/; revision=12633
* Use our own display_style member instead of the global setting.Peter Williams2001-07-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-16 Peter Williams <peterw@ximian.com> * mail-display.c (mail_display_redisplay): Use our own display_style member instead of the global setting. (mail_display_init): Initialize display_style. * mail-display.h: Include "mail-config.h" and add a display_style member. * mail-format.c (write_headers): Look at the MailDisplay's display_style instead of using the full_headers data. * folder-browser.c (folder_browser_set_message_display_style): Set the MailDisplay's display style as well as the global display style. (my_folder_browser_init): Don't save preference changes by default. (This is only observered wrt. the message display style but should apply to other items.) * folder-browser-factory.c (folder_browser_factory_new_control): Set this FB to save the preferences set in it. * folder-browser-ui.c (folder_browser_ui_add_message): Read our display's state instead of the global setting. svn path=/trunk/; revision=11131
* Implement the "Copy link location" right-click menu item in theEttore Perazzoli2001-06-291-0/+6
| | | | | | MessageDisplay widget. svn path=/trunk/; revision=10572
* We can't output "<html>" and "</html>" here because it gets calledDan Winship2001-06-161-2/+0
| | | | | | | | | | | * mail-format.c (mail_format_mime_message): We can't output "<html>" and "</html>" here because it gets called recursively to display message/rfc822 subparts. * mail-display.c (mail_display_redisplay): Move rodo's html header changes from mail_format_mime_message to here. svn path=/trunk/; revision=10252
* Load http images if the user has force-loaded images too.Dan Winship2001-05-161-2/+1
| | | | | | | | | | | | | | | | | | | | | | | * mail-display.c (on_url_requested): Load http images if the user has force-loaded images too. (mail_display_redisplay): Update for normal/headers/source changes. (mail_display_load_images): New. Force HTTP image loading for the current message. * mail-config.c (mail_config_get_message_display_style, mail_config_set_message_display_style): Updated and renamed from mail_config_{get,set}_view_source * mail-callbacks.c (load_images): New. * folder-browser.c (folder_browser_set_message_display_style): Renamed and updated from folder_browser_toggle_view_source. * folder-browser-factory.c (verbs): Add ViewLoadImages. (control_activate): Update for normal/headers/source change to radio group. svn path=/trunk/; revision=9820
* callback to use GNOME-VFS to load http data. (on_url_requested): HandleDan Winship2001-05-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-display.c (load_http): callback to use GNOME-VFS to load http data. (on_url_requested): Handle http: URLs that refer to either MIME parts or web data. (mail_display_redisplay_when_loaded): Moved out of mail_content_loaded and made more generic. * mail-format.c (add_url): Handle two different kinds of URLs (URLs that point to CamelMimeParts and URLs that point to GByteArrays). (mail_content_loaded): Use mail_display_redisplay_when_loaded. (format_mime_part): Renamed from "call_handler_function". Also, record Content-Location if the part has one. (This is not yet 100% correct: it doesn't deal with relative URLs correctly.) (handle_text_html): Use Content-Location URL rather than Content-ID, when available (will help deal with relative URLs once GtkHTML supports that better). (etc): Update for changes. * mail-config.c (mail_config_get_http_mode, mail_config_set_http_mode): get/set HTTP image downloading mode. (config_read, mail_config_write_on_exit): save/load that data. svn path=/trunk/; revision=9773
* Make the thumbnail cache global rather than per-MailDisplay, sinceDan Winship2001-03-271-1/+0
| | | | | | | | | | * mail-display.c (pixbuf_gen_idle, etc): Make the thumbnail cache global rather than per-MailDisplay, since content-ids ought to be globally unique. Also, don't leak content-id strings when the pixbuf generation fails, and remove pixbufs from the cache after 5 minutes. svn path=/trunk/; revision=8948
* (html_motion_notify_event): new handler, highlights addresses byRadek Doulik2001-03-231-0/+1
| | | | | | underline svn path=/trunk/; revision=8900
* Check if a message part's content is available, and if it's not, queue aDan Winship2001-01-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | * mail-format.c (mail_content_loaded): Check if a message part's content is available, and if it's not, queue a thread that will load it and then queue an idle-handler redisplay of the message. (call_handler_function): Call mail_content_loaded() on the part and don't try to display it if it's currently offline. (get_data_wrapper_text): Simplify a bit * mail-display.c (mail_display_queue_redisplay): rename and make non-static. (mail_display_redisplay): Use a "new and improved" way of preserving the GtkHTML scroll location. ("new and improved" is code for "gross and hackish", but there should be a real interface for this eventually.) (on_url_requested): Use mail_content_loaded() and don't write out offline cid: URLs * mail-identify.c (mail_identify_mime_part): Use mail_content_loaded and don't try to identify the data if it's offline. svn path=/trunk/; revision=7813
* Return of the thumbnail cache.Iain Holmes2000-12-281-0/+1
| | | | | | | | Still does the same swap thumbnails around problem it had last time. As the code is totally different, I'm guessing it's a bug in GtkHTML. But its probably not. svn path=/trunk/; revision=7183
* New function to return if user wants to view message source.Jeffrey Stedfast2000-11-221-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-21 Jeffrey Stedfast <fejj@helixcode.com> * mail-config.c (mail_config_view_source): New function to return if user wants to view message source. (mail_config_set_view_source): New function to set whether the view wants to view source. * mail-ops.c (mail_do_view_message_sources): Removed. We're not gonna view-source this way anymore. * folder-browser-factory.c: Removed the ViewSource bonobo verb from the Message menu. (control_activate): Added ViewSource. * folder-browser.c (on_right_click): Removed Message menu item to view message source. (folder_browser_toggle_view_source): New callback to set whether or not the MailDisplay shows the raw message or the pretty-ified message. * mail-callbacks.c: Removed view_source. * mail-display.c (redisplay): If toggle_raw is set then display the raw message else display the pretty formatted message. (mail_display_redisplay): New function to force the redisplay of a message. * mail-format.c (mail_format_raw_message): New function to write the raw message data. svn path=/trunk/; revision=6639
* Added mail-display.h.Not Zed2000-11-031-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-03 Not Zed <NotZed@HelixCode.com> * mail-view.c: Added mail-display.h. * mail-autofilter.c: Removed unecessary headers. Who ran indent over this code? Sigh. * mail-ops.c (display_message_input_s): Added messagedisplay. (mail_do_display_message): Added messagedisplay arg. (mail_do_display_message): Dont bother doing another thread when we know we dont have a uid. (): Added folder-browser.h to headers. Sigh. * folder-browser-factory.c (control_activate): Setup the viewthreaded callback to the folder_browser function. * folder-browser.c (my_folder_browser_init): Connect to right_click of etable of the messagelist here. (on_right_click): Changed for argument changes. (folder_browser_toggle_threads): Changed to take a fb, and to set threaded mode on the messagelist. (my_folder_browser_init): Connect also to the double_click signal. (my_folder_browser_init): Connect to the message_selected signal of the message_list. (on_message_selected): Signal handler for message selected. (my_folder_browser_init): Fix for change to message_list_new(). * message-list.h: Dont include folder-browser.h. (message_list_toggle_threads): Moved into folder-browser.h. (struct _MessageList): Removed folderbrowser. * mail.h: Dont include folder-browser.h here either, but mail-types.h instead. Moved prototypes moved into folder-browser.c into folder-browser.h. (vfolder_*, filter_*). * mail-display.h: Dont include folder-browser.h here, but mail-types.h and specific camel headers. * message-thread.c (sort_node): Invert the sort order logic so the list is sorted in mailbox order, not reverse mailbox order. * message-list.c (free_tree_ids): Fix a merge foo. (remove_node_diff): Removed unused row argument. Fixed callers/prototype. (clear_tree): pre_change on the removal of the root node. (build_flat): Only perform pre_change if we are rebuilding the whole lot. For incremental change let etable do its thing. (build_tree): Likewise for building the tree view. If making incremental updates, do them as we build it. (vfolder_subject): (vfolder_sender): (vfolder_recipient): (filter_subject): (filter_sender): (filter_recipient): (filter_mlist): (on_right_click): Moved to folder-browser.c, where they belong. (message_list_init): Dont connect to right_click anymore. (message_list_toggle_threads): Moved to folder-browser.c, renamed. (on_double_click): Moved to folder-browser.c (on_click): Set the flags directly, rather than in anothre thread, which is just not necessary. (message_list_class_init): Added a new signal 'message_selected', to indicate when a message was selected. (on_cursor_change_idle): Emit a signal, rather than directly triggering the display update. (select_row): Removed, no longer used. (idle_select_row): And this too. (select_msg): Removed as well. (message_list_select): Emit a signal, rather thandisplaying/clearing the mail-display directly. (mark_msg_seen): Moved to folder-browser.c (message_list_new): Removed folderbrowser argument. svn path=/trunk/; revision=6365
* Fix the locking up of the mail by only calling camel functions from theIain Holmes2000-10-071-2/+0
| | | | | | | | | | | | | | | | | | 2000-10-06 Iain Holmes <iain@helixcode.com> * mail-summary.c: Fix the locking up of the mail by only calling camel functions from the camel thread, and ORBit functions from the GTK thread. Watch for the message-changed signal again. * component-factory.c (summary_fn, component_factory_init): Re-enabled it, cos I think it works again. * mail-display.h: Remove the pb_cache. * Makefile.am: Readd the mail-summary.[ch] files and add the evolution-services library to the link. svn path=/trunk/; revision=5777
* Add a cache for the pixbufs, hashed on CID, so that we only have to make aIain Holmes2000-10-021-0/+2
| | | | | | | | | | | | | | | 2000-10-02 Iain Holmes <iain@helixcode.com> * mail-display.[ch]: Add a cache for the pixbufs, hashed on CID, so that we only have to make a thumbnail once. 2000-10-01 Iain Holmes <iain@helixcode.com> * mail-display.c: Generate the thumbnails on an idle function so that the user interface isn't locked. Checks in case the widget it will use to display the image isn't destroyed. svn path=/trunk/; revision=5653
* Added check for gnome-app-lib. Removed directories that have been moved toChristopher James Lahey2000-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added check for gnome-app-lib. Removed directories that have been moved to gal. From addressbook/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am, contact-editor/Makefile.am, ename/Makefile.am, gui/component/Makefile.am, gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * backend/ebook/e-card.c, backend/pas/pas-backend-file.c, contact-editor/e-contact-editor-address.c, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h, contact-editor/e-contact-editor-fullname.c, contact-editor/e-contact-editor.c, contact-editor/e-contact-save-as.c, ename/e-address-western.c, ename/test-ename-western-gtk.c, gui/component/addressbook-factory.c, gui/component/addressbook.c, gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c, gui/component/select-names/e-select-names-bonobo.c, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.h, gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h, gui/search/e-addressbook-search-dialog.c, gui/widgets/e-addressbook-model.h, gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c, gui/widgets/e-minicard-view-widget.c, gui/widgets/e-minicard-view-widget.h, gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h, gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c, gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c, printing/e-contact-print.c: Fixed the #include lines to deal properly with gal. From calendar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view-event-item.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c, gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines to deal properly with gal. * gui/check-filled.xpm: New file since we can't include it from e-table anymore. From camel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, camel-folder-search.h, camel-remote-store.c, providers/imap/camel-imap-folder.c, providers/imap/camel-imap-store.c: Fixed the #include lines to deal properly with gal. From composer/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c, e-msg-composer-attachment.c, e-msg-composer-hdrs.c, e-msg-composer.c: Fixed the #include lines to deal properly with gal. From e-util/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed all the files moved to gal. * e-dialog-widgets.c: Fixed the #include lines to deal properly with gal. * e-gui-utils.c, e-gui-utils.h: Removed all of the functionality that was moved to gal. * e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c, e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h, e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c, e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h, e-xml-utils.c, e-xml-utils.h: Moved to gal. From filter/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * filter-editor.c, filter-filter.c, filter-folder.c, filter-input.c, filter-message-search.c, filter-option.c, filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c: Fixed the #include lines to deal properly with gal. From mail/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * component-factory.c, folder-browser-factory.c, folder-browser.c, mail-callbacks.c, mail-config-gui.c, mail-display.c, mail-display.h, main.c, message-list.c, message-list.h: Fixed the #include lines to deal properly with gal. From po/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * POTFILES.in: Removed files that have been moved to gal. From shell/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-component-registry.c, e-corba-storage-registry.c, e-corba-storage.c, e-folder-type-registry.c, e-folder.c, e-local-folder.c, e-local-storage.c, e-shell-folder-creation-dialog.c, e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c, e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c, e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c, e-storage.c, evolution-local-storage.c, evolution-session.c, evolution-shell-client.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-shell-view.c, evolution-storage-listener.c, evolution-storage.c, main.c: Fixed the #include lines to deal properly with gal. From widgets/meeting-time-sel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-meeting-time-sel-list-item.c, e-meeting-time-sel.c, e-meeting-time-sel.h: Fixed the #include lines to deal properly with gal. If you've read this far, you deserve a prize. The first email in my mailbox with the subject "What a commit message!" (and your physical mailing address somewhere in the message) will receive a free Helix Code T-shirt mailed to anywhere within the continental United States. I cannot be held responsible for problems with email systems anywhere. This is supposed to be for fun, so please don't make a fuss if something goes wrong and your mail doesn't reach me. Find my email elsewhere in this message, and if it's been more than a few days, you're probably too late. From widgets/misc/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c: Fixed the #include lines to deal properly with gal. * e-scroll-frame.c, e-scroll-frame.h: Moved to gal. From widgets/shortcut-bar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c, e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines to deal properly with gal. From widgets/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed directories that have been moved to gal. * e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c, e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h, e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal. * e-reflow/.cvsignore, e-reflow/Makefile.am, e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h, e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal. * e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE, e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO, e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm, e-table/check-empty.xpm, e-table/check-filled.xpm, e-table/clip.png, e-table/e-cell-checkbox.c, e-table/e-cell-checkbox.h, e-table/e-cell-string.c, e-table/e-cell-text.c, e-table/e-cell-text.h, e-table/e-cell-toggle.c, e-table/e-cell-toggle.h, e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c, e-table/e-cell.h, e-table/e-table-click-to-add.c, e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h, e-table/e-table-col.c, e-table/e-table-col.h, e-table/e-table-column-model.h, e-table/e-table-column.c, e-table/e-table-config.c, e-table/e-table-config.glade, e-table/e-table-config.glade.h, e-table/e-table-config.h, e-table/e-table-defines.h, e-table/e-table-example-1.c, e-table/e-table-example-2.c, e-table/e-table-field-chooser-dialog.c, e-table/e-table-field-chooser-dialog.h, e-table/e-table-field-chooser-item.c, e-table/e-table-field-chooser-item.h, e-table/e-table-field-chooser.c, e-table/e-table-field-chooser.glade, e-table/e-table-field-chooser.glade.h, e-table/e-table-field-chooser.h, e-table/e-table-group-container.c, e-table/e-table-group-container.h, e-table/e-table-group-leaf.c, e-table/e-table-group-leaf.h, e-table/e-table-group.c, e-table/e-table-group.glade, e-table/e-table-group.glade.h, e-table/e-table-group.h, e-table/e-table-header-item.c, e-table/e-table-header-item.h, e-table/e-table-header.c, e-table/e-table-header.h, e-table/e-table-item.c, e-table/e-table-item.h, e-table/e-table-model.c, e-table/e-table-model.h, e-table/e-table-one.c, e-table/e-table-one.h, e-table/e-table-scrolled.c, e-table/e-table-scrolled.h, e-table/e-table-selection-model.c, e-table/e-table-selection-model.h, e-table/e-table-simple.c, e-table/e-table-simple.h, e-table/e-table-size-test.c, e-table/e-table-sort-info.c, e-table/e-table-sort-info.h, e-table/e-table-sorted-variable.c, e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c, e-table/e-table-sorted.h, e-table/e-table-sorter.c, e-table/e-table-sorter.h, e-table/e-table-subset-variable.c, e-table/e-table-subset-variable.h, e-table/e-table-subset.c, e-table/e-table-subset.h, e-table/e-table-text-model.c, e-table/e-table-text-model.h, e-table/e-table-tooltip.h, e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h, e-table/e-tree-example-1.c, e-table/e-tree-example-2.c, e-table/e-tree-model.c, e-table/e-tree-model.h, e-table/e-tree-simple.c, e-table/e-tree-simple.h, e-table/image1.png, e-table/image2.png, e-table/image3.png, e-table/remove-col.xpm, e-table/sample.table, e-table/table-test.c, e-table/table-test.h, e-table/test-check.c, e-table/test-cols.c, e-table/test-table.c: Moved to gal. * e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c, e-text/e-entry.c, e-text/e-entry.h, e-text/e-text-event-processor-emacs-like.c, e-text/e-text-event-processor-emacs-like.h, e-text/e-text-event-processor-types.h, e-text/e-text-event-processor.c, e-text/e-text-event-processor.h, e-text/e-text-model.c, e-text/e-text-model.h, e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to gal. i.e., ... changed evolution to work with gal. svn path=/trunk/; revision=5490
* Redo this again. Get rid of struct mail_format_data and move most of thatDan Winship2000-08-121-0/+3
| | | | | | | | | | | | | | * mail-display.c, mail-format.c: Redo this again. Get rid of struct mail_format_data and move most of that info into MailDisplay itself, and pass the MailDisplay around. Add a GData** to MailDisplay, and put the urls hash table into that. Also add the ability to redisplay the currently-displayed message (with the same GData**), and add a "show_pgp" datum to it that controls whether or not to decrypt PGP messages, and redo the PGP stuff (again) to take that into account. Now you don't get the annoying PGP password dialog box without any warning. svn path=/trunk/; revision=4757
* Merge with camel-async.Peter Williams2000-08-111-2/+1
| | | | svn path=/trunk/; revision=4687
* New code to spawn off GPG/PGP to do stuff. Currently only deals withDan Winship2000-08-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-crypto.c: New code to spawn off GPG/PGP to do stuff. Currently only deals with decryption. From Nathan Thompson-Amato <ndt@jps.net>, with bunches of changes from me. * session.c (mail_request_dialog): Expose the password dialog to the rest of the app (for use by the GPG/PGP code). * mail-format.c (handle_text_plain): Handle special inline data types. (Currently uuencoding, BinHex, and PGP encryption.) This is not the best way to deal with it, but it works for now. (try_inline_pgp): Convert an inline PGP-encrypted message into a multipart/encrypted part. (try_inline_binhex): Convert an inline BinHex attachment into an application/mac-binhex40 part (which we currently don't deal with...) (try_uudecoding): Convert a uuencoded attachment to an application/octet-stream part. (handle_multipart_encrypted): Deal with RFC2015 MIME-encoded PGP encrypted messages. (From ndt.) * mail-display.c (mail_text_write, mail_error_write): New utility functions. * Makefile.am (evolution_mail_SOURCES): add mail-crypto.c svn path=/trunk/; revision=4466
* Make the mail folder browser use EScrollFrame for a nicer look.Ettore Perazzoli2000-06-011-1/+4
| | | | svn path=/trunk/; revision=3328
* Redo this back to the old way: a single GtkHTML with various things inlineDan Winship2000-05-311-9/+1
| | | | | | | | | | | | | | | | | | | | * mail-format.c: Redo this back to the old way: a single GtkHTML with various things inline in it. (Gets rid of flicker, simplifies some scrolling, selecting, and printing issues.) (handle_text_enriched, handle_text_html): Use <iframe>s for these, to protect the rest of the document from their possibily invalid HTML. (handle_via_bonobo): Use (new-and-improved) <object> tags for this, moving most of the work back into mail-display.c * mail-display.c (on_object_requested): Move the Bonobo embedding code back here again (reorganized a bit). (on_url_requested): add x-evolution-data handler, for iframe bodies. (mail_html_new, mail_html_end): removed (mail_display_set_message, mail_display_new): Update for NWO. svn path=/trunk/; revision=3312
* Updated for the GtkHTML API changes. Also fixed some compilerEttore Perazzoli2000-05-211-3/+3
| | | | | | warnings here and there. svn path=/trunk/; revision=3145
* Redo large chunks of this. The mail display now consists of a vbox in aDan Winship2000-04-251-20/+21
| | | | | | | | | | | | | | | | | | * mail-display.c, mail-format.c: Redo large chunks of this. The mail display now consists of a vbox in a scrolled window, in which we put multiple GtkHTML objects. This means broken HTML in one part can't corrupt other parts. The headers now scroll with the body. Unrecognized attachments look prettier, but still don't do anything, and will probably be changed later. We can also now display nested message/rfc822 parts and multipart/alternatives with multipart subparts. Oh, and text/{richtext,enriched}, since we had all these ancient sample messages that use it and the lack of support annoyed me. :) Bonobo embeddables are broken right now, but I don't think that's my fault. svn path=/trunk/; revision=2601
* Moved from camel/camel-formatter, and changed slightly. (More to come.)Dan Winship2000-04-151-3/+0
| | | | | | | | | | | | | | 2000-04-14 Dan Winship <danw@helixcode.com> * mail-format.[ch]: Moved from camel/camel-formatter, and changed slightly. (More to come.) * html-stream.[ch]: No longer necessary. mail-format uses GtkHTMLStreamHandles directly. * mail-display.[ch]: update for new message formatting code. svn path=/trunk/; revision=2438
* plug mem leaks due to bad documentation ofbertrand2000-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 2000-03-07 bertrand <bertrand@helixcode.com> * camel-formatter.c (handle_mime_part): plug mem leaks due to bad documentation of camel_content_field_get_mime_type (print_camel_body_part): idem (handle_multipart_alternative): idem * gmime-content-field.c (gmime_content_field_get_mime_type): documentation fix. * camel-mime-part.c (my_finalize): unref the content_input_stream if any. * shell/e-shell-shortcut.c (shortcut_bar_item_selected): removed a test that prevented the standard menu to be shown. svn path=/trunk/; revision=2089
* More changes than a man can remember.Bertrand Guiheneuf2000-03-061-5/+31
| | | | | | The UI works now. svn path=/trunk/; revision=2074
* It compiles -miguelArturo Espinosa2000-01-251-0/+1
| | | | svn path=/trunk/; revision=1630
* More workArturo Espinosa2000-01-251-1/+6
| | | | svn path=/trunk/; revision=1628
* More workArturo Espinosa2000-01-201-0/+23
More work svn path=/trunk/; revision=1595