2001-07-03 Peter Williams <peterw@ximian.com>
* mail-folder-cache.c (make_folder_name, make_folder_status): Split
make_string into these.
(update_idle): Use (name and status) instead of (wide and thin) for
the text.
svn path=/trunk/; revision=10766
2001-07-03 Peter Williams <peterw@ximian.com>
Prevent folders from appearing to have -1 new messages. Prevent
nonactive folders from updating the title bar. Make the title
bar update when switching to an already-opened folder.
* mail-folder-cache.c (update_message_counts): Ignore the value for
'unread' if it is -1.
(get_mail_info_receive): Same
(mail_folder_cache_note_folderinfo): Same.
(get_folder_info): Initialize 'fb' to NULL.
(mail_folder_info): Add 'fb' member.
(mail_folder_cache_note_fb): Change note_message_list to this.
(update_idle): Only update the ShellView if the active folder browser
is the same as the one that the MFI references.
(mail_folder_cache_set_folder_browser): New function. Use it to set
the active folder browser. NULL is okay.
(check_for_fb_match): Called from the above. If the MFI has the
new folder browser as its view, queue an update.
* mail-folder-cache.h: Fix prototypes.
* mail-callbacks.c (create_folders): Check if fi->url is nonnull.
* folder-browser.c (got_folder): Change to use note_fb instead of
note_messge_list.
* folder-browser-factory.c (control_activate): Set the folder browser
(control_deactivate): Clear it here.
(fb_get_svi): Kill some inappropriately cut-n-pasted code.
svn path=/trunk/; revision=10755
* mail-config.glade: Rename some of the widgets in the news config
to not conflict with the mail config stuff, so the mail config
druid will work again.
svn path=/trunk/; revision=10754
2001-07-03 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (message_list_drag_data_get): Use mkdtemp if we
have it, else use mktemp but make the code safer than it was
previously.
* mail-display.c (launch_cb): Free the template string if the
tempdir failed to be created.
svn path=/trunk/; revision=10753
2001-07-02 Sam Creasey <sammy@oh.verio.com>
* mail-account-editor-news.c: Added an MailAccountEditorNews, for
NNTP configuratuion. Based on MailAccountEditor, but stripped.
* Makefile.am: added mail-account-editor-news.c and
mail-account-editor-news.h to SOURCES if ENABLE_NNTP is defined.
* mail-accounts.c (load_news): Moved this function, and fixed some
slight brokenness.
(news_edit): Added functional code using MailAccountEditorNews
(news_add): Added functional code using news_edit after
allocation.
* mail-config.glade: news_editor_window widget added. Used by
MailAccountEditorNews.
* mail-display.c (save_data_cb): Store the pathname used when
saving messages so that the next save box will default to the
previous path.
* message-browser.c (message_browser_new): add signal handler for
size_allocate on the message browser. Thus new windows are size
as they were last allocated.
(message_browser_size_allocate_cb): handler to store allocations.
* message-list.c (message_list_setup_etree): connect to the
info_changed signals for the state of the message_list->tree.
Save the folder state to disk, so that when additional
message_lists are created, they are consistant. e.g. the next
buttons do the same thing in the browser, and in the message
viewer after changing sorting options.
* subscribe-dialog.c (build_tree): freeze sc->folder model while
building the tree. Not doing so takes a very long time over 40000
newsgroups.
svn path=/trunk/; revision=10719
2001-07-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (construct): Setup the Empty Trash On Exit
widgets.
* mail-config.c (config_read): Option to emtpy trash on exit.
(mail_config_write_on_exit): Same.
(mail_config_set_empty_trash_on_exit): Set the option.
(mail_config_get_empty_trash_on_exit): Get the option.
* component-factory.c (owner_unset_cb): Empty the trash folders if
the user set the "empty trash on exit" option.
svn path=/trunk/; revision=10711
2001-07-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (transfer_msg): Updated for the
mail_transfer_messages API.
* folder-browser.c (message_list_drag_data_recieved): Update for
the mail_transfer_messages API.
(selection_received): Same.
* mail-ops.c (mail_transfer_messages): Renamed from
mail_do_transfer_messages and also added a callback/data arguments
since we need it component_factory::xfer_folder.
* component-factory.c (xfer_folder): Use mail_transfer_messages
instead.
(destination_folder_handle_drop): Update to pass in a NULL
callback arg and a NULL data argument to mail_transfer_messages.
svn path=/trunk/; revision=10710
* configure.in: Check for gtkhtml 0.9.99.1.
2001-07-02 Larry Ewing <lewing@ximian.com>
* mail-display.c (save_part): move the saving logic out of save_cb
so that we can reuse it for the image saving code.
(save_cb): call save_part.
(save_url): new function to resolve an save an html url.
(image_save_as): save function for images and. Add it to the
link_menu, and add MASK_URL and MASK_SRC to the structure so that
we cans show the proper menus.
(html_button_press_event): call get_src as well to find external
urls references. Add popup masking.
svn path=/trunk/; revision=10707
2001-07-02 Peter Williams <peterw@ximian.com>
* mail-folder-cache.h: New file. Protoypes for the Mail Folder Cache, which
provides a place for all the disparate pieces of the mailer to save bits of
information about a folder. Centralizes the information display code.
* mail-folder-cache.c: New file. Implements the Mail Folder Cache.
* Makefile.am (evolution_mail_SOURCES): Add the mail-folder-cache.{c,h}
* folder-browser-factory.c (fb_get_svi): Copy of that absurdly long-named
function in mail-display.c that gets the GNOME_Evolution_ShellView.
(control_activate): Set the ShellView for the folder cache.
* folder-browser.c (got_folder): Tell the folder browser about this folder.
* mail-callbacks.c (create_folders): Tell the folder cache about the new
folders.
* mail-local.c (reconfigure_folder_reconfigure): Don't unhook our
events as we no longer hook them up.
(register_folder_registered): Tell the folder cache about this
folder's place in the local storage.
(register_folder_register): No longer hook events; the Folder Cache
will do this.
(local_folder_changed, local_folder_changed_proxy): Move to mail-folder-cache.c
(free_local_folder): No longer unhook events.
* mail-ops.c (do_update_subfolders_rec): Instead of setting the
folder status ourselves, inform the Folder Cache about the changes.
* mail-tools.c (mail_tool_uri_to_folder): Replace danw's cache
with the new Mail Folder Cache.
(cache_folder, etc): removed.
svn path=/trunk/; revision=10694
2001-07-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c: #include widgets/misc/e-charset-picker.h since
it was moved there from libgal.
svn path=/trunk/; revision=10689
* mail-session.c (get_filter_driver): Implement this, based on
code that used to be in mail-ops.c
* mail-ops.c (mail_load_filter_context, setup_filter_driver):
Moved into MailSession::get_filter_driver.
(filter_get_folder): Moved to mail-session.c
(mail_filter_folder, mail_filter_on_demand, mail_fetch_mail,
mail_send_mail, mail_send_queue): Remove FilterContext args, use
camel_session_get_filter_driver.
* mail-send-recv.c (mail_send_receive, mail_receive_uri):
Remove FilterContexts
svn path=/trunk/; revision=10682
2001-07-01 Chris Toshok <toshok@ximian.com>
* subscribe-dialog.c (subscribe_dialog_gui_init): the FolderSearch
control is in a different dockitem now.
svn path=/trunk/; revision=10669
* mail-tools.c (update_unread_count): Ref the folder before
proxying the event, in case there's only one reference to it and
it gets unreffed before the other end of the event handler runs.
(update_unread_count_main): And unref it when we're done.
(mail_tool_uri_to_folder): Only hold the lock around the hash
table operations, not the entire function. Holding the lock the
whole time can cause deadlock when resolving vfolders, and the
CamelSession and CamelStore locks ensure that multiple threads
calling this function will end up with the same CamelFolder object
at the end anyway, so we just need to lock and re-check the cache
at the end before adding the folder to the cache.
svn path=/trunk/; revision=10661
2001-06-30 Jon Trowbridge <trow@ximian.com>
* mail-display.c (make_popup_window): Changed to return the
created window.
(find_socket): Added. Copied from e-shell-view.c. The fact
that I'm copying this bit of code all over isn't cool.
(html_button_press_event): Properly destroy the popup window when
the widget inside the control is destroyed.
* mail-callbacks.c (addrbook_sender): Added. Implements
the "Add sender to addressbook" right-click. (Bug #3645)
(find_socket): Added. Copied from e-shell-view.c.
* folder-browser.c: Added "Add sender to addressbook" to
context_menu[].
* mail-display.c: (handle_embedded_address_object): Removed.
(on_object_requested): Removed handling for embedded address
objects. (Which was obsolete crap.)
svn path=/trunk/; revision=10643
2001-06-29 Larry Ewing <lewing@ximian.com>
* mail-callbacks.c (create_msg_composer): make sure we show the
sig file.
* e-msg-composer.c (e_msg_composer_show_sig_file): remove now
invalid argument in the documentation.
svn path=/trunk/; revision=10616
2001-06-29 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-factory.c (control_deactivate): Turn folder
syncing back on here so that IMAP folders will sync without
needing to hit Send & Receive.
svn path=/trunk/; revision=10611
2001-06-29 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (ask_confirm_for_only_bcc): Throw up the
confirmation dialog.
(composer_get_message): If the user only specified Bcc recipients,
prompt him/her to make sure we should continue and risk the server
adding an Apparently-To header.
* mail-config.c (config_read): Read in config option for prompting
when only Bcc recipients are specified.
(mail_config_write_on_exit): Save the option.
(mail_config_get_prompt_only_bcc): New.
(mail_config_set_prompt_only_bcc): New.
svn path=/trunk/; revision=10606
* mail-account-gui.c (build_auth_menu): Take two authtypes lists,
"all", and "supported", and make the unsupported authtypes grayed
out in the menu rather than missing.
(source_type_changed, transport_type_changed,
service_check_supported): Update build_auth_menu calls.
svn path=/trunk/; revision=10600
by sendmail to strip the BCC from the email while still sending to the BCC
recipients.
camel:
2001-06-28 Peter Williams <peterw@ximian.com>
* camel-mime-filter-stripheader.c: New file. Filter that strips a
header from mime output.
* camel-mime-filter-stripheader.h: New file. Header for the above.
* providers/smtp/camel-smtp-transport.c (smtp_data): Use the stripheader
filter to remove the "Bcc" header.
* Makefile.am: Add the stripheader files.
* tests/lib/Makefile.am (INCLUDES): Get this to compile again.
* tests/mime-filter/test-stripheader.c: New file. Test suite for
the CamelMimeFilterStripHeader.
* tests/mime-filter/Makefile.am: New test section: mime filters.
mail:
2001-06-28 Peter Williams <peterw@ximian.com>
* mail-ops.c (mail_send_message): Revert fejj's Bcc header removal;
this unsets the BCC recipients and so doesn't send to the Bcc'd
people at all.
svn path=/trunk/; revision=10576
2001-06-28 Jeffrey Stedfast <fejj@ximian.com>
* mail-send-recv.c (free_send_data): The e_iterator_get() returns
a gconstpointer and we need a non-const BonoboControl so cast it.
* mail-account-gui.c (mail_account_gui_new):
gui->check_html_signature is GtkToggleButton not a GtkCheckButton.
* folder-info.c: Added some #include's to supress warnings.
svn path=/trunk/; revision=10574
2001-06-28 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_write_on_exit): Don't bother trying
to save the passwd if the url is NULL.
* folder-browser.c (vfolder_mlist): Strip the mlist name to fix
bug #3732.
svn path=/trunk/; revision=10571
2001-06-28 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (destination_folder_handle_drop): Since we
have an exception variable, we might as well use it when getting
folders too.
* folder-browser.c (message_list_drag_data_recieved): Call
gtk_drag_finish.
svn path=/trunk/; revision=10568
* mail-tools.c (mail_tool_uri_to_folder): After finding a folder,
attach to its "folder_changed" and "message_changed" signals.
(update_unread_count, update_unread_count_main): Moved here from
folder-browser but basically unchanged. Doing this here lets us
get folder tree updates for folders that have had messages
moved/copied/filtered into them, but which don't yet have a view
associated with them.
* folder-browser.c (update_unread_count, update_unread_count_main,
etc): Moved to mail-tools.c
svn path=/trunk/; revision=10567
`external_uri_schemas' attribute. Update the EvolutionShellComponent
GTK+ wrapper accordingly. Update all the components to pass a NULL
`external_uri_schemas' list when initializing themselves as
EvolutionShellComponents.
svn path=/trunk/; revision=10548
2001-06-27 Peter Williams <peterw@ximian.com>
* configure.in (gal): Bump required gal version for new accessors
in ETree.
mail:
2001-06-27 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c: Uncomment EditSelectThread. Yaay!
* mail-callbacks.c (select_thread): New function. Self-explanatory
name. Implementation is a little hairy.
* mail-callbacks.h: Prototype it here.
* mail-callbacks.c (invert_selection): Here too.
(select_all): Here too.
* subscribe-dialog.c (subscribe_select_all): Update to use new
ETree accessors.
(subscribe_invert_selection): Here too.
calendar:
2001-06-27 Peter Williams <peterw@ximian.com>
* conduits/*/Makefile.am (INCLUDES): More srcdir != builddir
fixes.
svn path=/trunk/; revision=10544
2001-06-27 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c: Fixed Cut/Copy/Paste to work - it turns out I
couldn't share a single GtkInvisible between all the
FolderBrowser's after all.
svn path=/trunk/; revision=10536
2001-06-27 Peter Williams <peterw@ximian.com>
* folder-browser-factory.c (control_deactivate): Change to use
more reality-based API below.
Include folder-browser-ui.h too.
(control_activate): Remove now-unused 'int state'.
* folder-browser-ui.h: Changed prototypes to match changes below.
* folder-browser-ui.c (folder_browser_ui_rm_message): Commented out
to reflect reality of how this stuff works (you can't actually remove
the pieces).
(folder_browser_ui_rm_global): Same.
(folder_browser_ui_rm_list): Left because here we add the view menus.
(folder_browser_ui_add_list): ... which were moved here.
(folder_browser_ui_rm_all): New function, does the job of old ui_rm()
svn path=/trunk/; revision=10531
001-06-26 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c: New file derived from folder-browser-factory.c.
Contains the Bonobo UI code, split into three groups as described in
ui/ChangeLog. Also contains the GalView stuff and the hookups into
the Bonobo UI stuff.
* folder-browser-factory.c: Move most of the UI stuff to folder-browser-ui.c.
(control_activate): Add all three kinds of UI element to this folderbrowser.
(control_deactivate): Remove all three kinds.
* folder-browser-ui.h: New file. Prototypes functions to add UI elements
to a FolderBrowser.
* Makefile.am: Add folder-browser-ui.{c,h}
* message-browser.c (PARENT_TYPE): Change to BONOBO_TYPE_WINDOW
(message_browser_destroy): Chain to parent destroy function.
(set_bonobo_ui): New function. Add the 'message' functions from the folder
browser to our UI.
(message_browser_close): BonoboVerbify this.
* message-browser.h: Convert to BonoboWindow.
UI:
6-26 Peter Williams <peterw@ximian.com>
* evolution-mail-global.xml:
* evolution-mail-list.xml:
* evolution-mail-message.xml: New files. These are the result
of splitting evolution-mail.xml into three pieces: one for the
global mailer operations, one for the operations on a messagelist,
and one for the operations on one or more messages.
* evolution-mail-messagedisplay: New file. UI for the standalone
message browser that you get when you double-click. Very skeleton.
* evolution-mail.xml: Removed.
* Makefile.am: Updated to install new files.
svn path=/trunk/; revision=10514
2001-06-26 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (my_folder_browser_init): Helps if I spell
"received" correctly.
* mail-config.c (mail_config_set_thread_list): If the value is
already in the hash table, first remove it before setting the new
value so we don't leak.
(mail_config_set_show_preview): Same.
svn path=/trunk/; revision=10510
* mail-mt.c (op_status_timeout): Don't pop up a progress dialog to
say "I already finished this a while ago".
* component-factory.c (storage_create_folder): Pass the path
prefix to folder_created so it can add it to the folder tree in
the right place.
* mail-callbacks.c (folder_created): Take a path prefix.
svn path=/trunk/; revision=10508