2002-02-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.h: Don't #include camel-mime-filter-save.h,
we don't use it.
* camel-file-utils.c: Fixed a few 'might be used uninitialized'
warnings which were real problems.
* camel-mime-part-utils.c
(camel_mime_part_construct_content_from_parser): Save the raw mime
stream for any/all signed parts.
* camel-mime-part.c (camel_mime_part_init): Initialize our raw
stream to NULL.
(camel_mime_part_finalize): Unref our raw stream, if we have one.
(write_to_stream): If we have a raw stream, write that out instead
of re-encoding.
* camel-mime-filter-save.[c,h]: Rewritten to save to a stream
rather than a file.
svn path=/trunk/; revision=15867
2002-02-28 Not Zed <NotZed@Ximian.com>
* camel-mime-utils.c (header_fold): Use the FOLD_SIZE as a
recommended folding size, but add a new FOLD_MAX_SIZE (=998, the
smtp max line size) as the hard limit for any output.
svn path=/trunk/; revision=15866
2002-02-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-chomp.c (camel_mime_filter_chomp_new): New
stream filter that chomps excess trailing whitespace from the end
of the stream. This is needed to update the PGP/MIME code to
comply with rfc3156.
* camel-pgp-mime.c (camel_pgp_mime_part_verify): Don't attach a
from filter, if it ain't from-filtered already, then we'll just be
breaking stuff. To become rfc3156 compliant, add a chomp filter
here.
(camel_pgp_mime_part_sign): Add a chomp filter here too.
svn path=/trunk/; revision=15863
2002-02-27 Larry Ewing <lewing@ximian.com>
* misc/e-combo-button.c (impl_button_press_event): make a right
click bring up the popup menu.
svn path=/trunk/; revision=15858
2002-02-27 Not Zed <NotZed@Ximian.com>
* camel-mime-part.c (init_header_name_table): Changed header
formatted table to contain a pointer to an output function, and
added in-reply-to and references headers.
(write_references): New function to write out references header,
folded properly. It only approximates based on the last >, but it
should be adequate and will also handle invalid headers.
(write_fold): Function to write out headers folded. Since this is
the default it isn't required.
(write_raw): Write out an already formatted header, e.g. most of
the rest.
(write_to_stream): Lookup header output function, if we have one,
use that, otherwise fold header using basic (dumb) function.
This is all for #14779. A better fix is probably do have the
headers always stored formatted, but that can wait.
svn path=/trunk/; revision=15852
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
on exit. What happened is that the signal would be disconnected
twice, once by cleanup_delayed_selection() and once by the
while_alive handler.]
* e-shell-view.c (destroy): Call cleanup_delayed_selection() here.
(e_shell_view_display_uri): Use gtk_signal_connect_full(), not
e_gtk_signal_connect_full_while_alive().
svn path=/trunk/; revision=15848
2002-02-26 Rodrigo Moya <rodrigo@ximian.com>
* gui/control-factory.c (set_prop):
* gui/tasks-control.c (tasks_control_set_property): display an error
message if the call to gnome_calendar_open or e_tasks_open does not
return TRUE. Fixes#20346.
svn path=/trunk/; revision=15845
2002-02-26 Not Zed <NotZed@Ximian.com>
* filter-filter.c (option_activate): Copy values across to new
part.
* filter-rule.c (option_activate): copy values across to new part,
if they are compatible.
* filter-element.c (filter_element_copy_value): New function to
copy values (where they can be) from one filter element to another.
* filter-part.c (filter_part_copy_values): New function to copy
values of a filter part. #1359.
svn path=/trunk/; revision=15841
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
* gui/itip-utils.c (itip_send_comp): use
GNOME_Evolution_Composer_setBody rather than _setMultipartType and
_attachData now, to send a message containing just a text/calendar
part. Fixes 14705. Mostly.
(comp_content_type): Include the filename here since we can't add
a Content-Disposition now.
svn path=/trunk/; revision=15834
Mailer side of 14705.
* Evolution-Composer.idl (setBody): Change setBodyText to setBody
and take a MIME type as well.
(show): Add an exception.
* evolution-composer.c (impl_Composer_set_body, etc): Update for
IDL change. While I'm here, fix this to DTRT with both plaintext
and HTML bodies. (It claimed to take plain text before, but then
passed it to the composer as HTML.)
(impl_Composer_show): Raise an exception if setBody has been
called, since the composer window will not display the real data
in that case.
* e-msg-composer.c (e_msg_composer_set_body): interface for
impl_Composer_set_body.
(build_message): If e_msg_composer_set_body has been called, use
the body and MIME type supplied to it rather than the contents of
the HTML editor.
svn path=/trunk/; revision=15833
2002-02-24 Chris Toshok <toshok@ximian.com>
* folder-browser.c (folder_browser_search_do_search): rename
folder_browser_search_query_changed to this.
(folder_browser_gui_init): hook both query_changed and
search_activated up to folder_browser_search_do_search, preserving
current behavior.
svn path=/trunk/; revision=15829
2002-02-24 Chris Toshok <toshok@ximian.com>
* gui/component/addressbook.c (addressbook_query_changed): only
handle the ESB_ADVANCED case here now. the actual query work is
done in addressbook_search_activated.
(addressbook_search_activated): split out all the searching
functionality here.
(addressbook_factory_new_control): hook up "search_activated" to
addressbook_search_activated.
svn path=/trunk/; revision=15828
2002-02-24 Chris Toshok <toshok@ximian.com>
* e-filter-bar.c (init): preserve behavior - hook search_activated
signal to the same function as query_changed.
* e-search-bar.c (emit_search_activated): new function.
(entry_activated_cb): use emit_search_activated instead of
emit_query_changed.
(subitem_activated_cb): same.
(activate_button_clicked_cb): same.
(class_init): add the search_activated signal.
(idle_activate_hack): rename idle_change_hack to this, and
emit_search_activated.
(e_search_bar_construct): idle_change_hack -> idle_activate_hack.
(e_search_bar_set_subitem_id): emit_search_activated instead of
emit_query_changed.
(e_search_bar_set_text): same.
* e-search-bar.h (struct _ESearchBarClass): add a search_activated
signal.
svn path=/trunk/; revision=15827
2002-02-24 Chris Toshok <toshok@ximian.com>
* gui/component/addressbook-config.c
(addressbook_source_dialog_set_source): make the right auth page
start up open.
* gui/component/addressbook-storage.c (addressbook_source_free):
free the binddn.
(addressbook_source_copy): copy the binddn;
svn path=/trunk/; revision=15819
* e-storage-set-view.c (impl_destroy): Renamed from `destroy'.
(impl_right_click): Renamed from `right_click'.
(impl_cursor_activated): Renamed from `cursor_activated'.
(impl_tree_start_drag): Renamed from `tree_start_drag'.
(impl_tree_drag_begin): Renamed from `tree_drag_begin'.
(impl_tree_drag_end): Renamed from `tree_drag_end'.
(impl_tree_drag_data_get): Renamed from `tree_drag_data_get'.
(impl_tree_drag_data_delete): Renamed from
`tree_drag_data_delete'.
(impl_tree_drag_motion): Renamed from `tree_drag_motion'.
(impl_tree_drag_leave): Renamed from `tree_drag_leave'.
(impl_tree_drag_drop): Renamed from `tree_drag_drop'.
(impl_tree_drag_data_received): Renamed from
`tree_drag_data_received'.
svn path=/trunk/; revision=15811
2002-02-22 Chris Toshok <toshok@ximian.com>
[ Fixes bugs 20740, 16680, and god knows what else :) ]
* gui/widgets/e-addressbook-model.c (create_card): double the
allocated size every time we need more space instead of using a
fixed size increment. this helps huge queries. Also, remove the
gtk_object_get of "file_as", as it was dead code.
(book_view_loaded): handle errors here (by popping up a dialog).
* backend/pas/pas-backend-ldap.c (view_destroy): search_idle ->
search_timeout.
(build_card_from_entry): comment out some spew, and unref ecard
when we're done to plug a memory leak.
(send_pending_adds): send along to the client all the cards we've
been saving up.
(poll_ldap): use a timeout for ldap_result to keep the backend
from blocking (and it turns out keep the frontend from hanging
waiting on a ref to complete) on large db's with few matches.
Also, add some fairly smart, self-tuning aggregating of cards.
Keep track of the number of cards we've sent the last time through
as well as this time, and estimate the number we want to aggregate
the next time based on them (we average them at the moment),
subject to maximum/minimum number of cards. also, we have a
maximum aggregation time, after which we force a flush if there
are pending cards and recalculate our target pending number.
there's a minimum wait time to possibly keep outselves from
spamming the ui, although it's 0 at the moment.
Lastly, make sure to only notify the GUI of status messages when
we need to. this results in a *huge* savings.
(ldap_search_handler): initialize all the pending card stuff, and
use a timeout instead of an idle function for poll_ldap.
* backend/ebook/e-book-view-listener.c
(e_book_view_listener_queue_response): performance optimization
for large adds. If we're a CardAddedEvent and there's an existing
CardAddedEvent at the end of the queue, just concat the lists of
cards together. This is to keep the gui from falling further and
further behind the ldap backend, which is merrily spewing updates
at the gui.
svn path=/trunk/; revision=15807
* main.c (idle_cb): Use the e_shell_new() API below so that we use
the saved offline settings at the next start-up if neither
--offline nor --online has been specified.
* e-shell.c (save_misc_settings): New function. For now, just
save `/Shell/StartOffline' indicating whether the shell should
start in offline mode or not.
(e_shell_construct): Replace @start_online with
@startup_line_mode.
(e_shell_new): Likewise.
* e-shell.h: New enum EShellStartupLineMode.
svn path=/trunk/; revision=15804
* e-shell-view.c (remove_uri_from_history): New helper function to
remove all the matching URIs from the history.
(history_uri_matching_func): Compare function for using
e_history_remove_matching.
(storage_set_removed_folder_callback): Call
`remove_uri_from_history()'.
* e-history.c (e_history_remove_matching): New.
svn path=/trunk/; revision=15803
2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (on_message_list_built): Removed, this wasn't
working as intended and seemed to break other features.
svn path=/trunk/; revision=15801
2002-02-22 Jeffrey Stedfast <fejj@ximian.com>
* Makefile.am: Remove meeting_widget.png from the build since it
doesn't seem to be in cvs?
svn path=/trunk/; revision=15800
* e-shell-view.c (update_navigation_buttons): New.
(display_uri): Call it before returning so the navigation buttons
always have the right sensitivity.
* e-shell-folder-title-bar.c
(e_shell_folder_title_bar_update_navigation_buttons): New.
(add_navigation_buttons): Remove the "Back" label.
svn path=/trunk/; revision=15799
* e-shell-view.c: New member `history' in `EShellViewPrivate'.
(init): Initialize.
(destroy): Unref.
(e_shell_view_display_uri): Make it a no-op if the URI is the same
as the current one. Also, moved code into `display_uri' and use
it.
(back_clicked_callback): New, callback for the back button on the
folder title bar.
(forward_clicked_callback): Likewise for the forward button.
* e-history.c: New.
* e-history.h: New.
svn path=/trunk/; revision=15798
* e-shell-view.c (e_shell_view_show_folder_bar):
`e_shell_folder_title_bar_set_title_clickable()', not
`e_shell_folder_title_bar_set_clickable()'.
* e-shell-folder-title-bar.c: Rename `button', `button_label' and
`button_arrow' to `title_button', `title_button_label' and
`title_button_arrow'. Renamed `label' to `title_label'. Renamed
`arrow_xpm' to `down_arrow_xpm'. Added `left_arrow.xpm' and
`right_arrow.xpm'.
(class_init): Add the "back_clicked" and "forward_clicked"
signals.
(add_navigation_buttons): New function to add the navigation
buttons to the title bar.
(back_button_clicked_callback): Callback for the back button,
emits "back_clicked".
(forward_button_clicked_callback): Callback for the forward
button, emits "forward_clicked".
(e_shell_folder_title_bar_construct): Call
`add_navigation_buttons()'.
(forward_button_clicked_callback):
(create_arrow_pixmap): Removed.
(create_pixmap_widget_from_xpm): New.
(title_button_box_realize_cb): Removed.
(e_shell_folder_title_bar_construct): Don't connect. Just add the
icon normally using the new `create_pixmap_widget_from_xpm()'.
(e_shell_folder_title_bar_set_title_clickable): Renamed from
`e_shell_folder_title_bar_set_clickable'.
(size_allocate_navigation_buttons): New.
(size_allocate_title_button): Get an @offset.
(size_allocate_label): Get an @offset.
(size_allocate): Allocate the navigation buttons and offset
everything else accordingly.
* e-shell-folder-title-bar.h: New signals "back_clicked",
"forward_clicked".
svn path=/trunk/; revision=15797
* e-shell-user-creatable-items-handler.c
(get_default_action_for_view): Return NULL if there is no
component ID for the current view.
svn path=/trunk/; revision=15792
* gui/component-factory.c (add_creatable_item): New helper
function.
(create_object): Add icons for the various user creatable items.
svn path=/trunk/; revision=15790
* gui/component/Makefile.am: Define $(iconsdir).
* gui/component/addressbook-component.c (add_creatable_item): New
helper function.
(create_component): Add the icons for the user creatable items as
well.
svn path=/trunk/; revision=15789