* component-factory.c (owner_unset_cb): NULL the
global_shell_client as the first thing here. Otherwise we might
get into a slight race that causes the shell to crash. [Still, of
course the shell shouldn't crash, but I haven't been able to track
that down yet.]
svn path=/trunk/; revision=12605
2001-09-04 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (fetch_mail_fetch): Unref the source folder here
because it might be a POP folder. We do this because on store
finalize, we now try to disconnect cleanly which means that we may
block.
svn path=/trunk/; revision=12602
2001-08-30 Peter Williams <peterw@ximian.com>
Due to the introduction of mail_folder_cache_remove(), we can no
longer assume that mail_folder_info's always exist, so we need
to robustify a lot of this.
* mail-folder-cache.c (folder_browser_destroyed): New
function. Called when the folder browser is destroyed -- analogous
to camel_folder_finalized.
(mail_folder_cache_note_fb): Hook it up here.
(struct _mail_folder_info): Add a member, mail_info_id, that
records the get_mail operation's id, so that we can cancel it if
we need to.
(get_folder_info): Initialize it here.
(get_mail_info_reply): Clear it here.
(mail_folder_cache_remove_folder): If necessary, cancel it here.
(mail_folder_cache_note_folder): Check it here before starting a
new operation, just in case.
(update_message_counts_main): Take a URI instead of a
mail_folder_info *, in case the MFI has gotten destroyed.
(update_message_counts): Take a quark of the URI instead of a
mail_folder_info *, for the same reason. We use a quark instead of
an allocated gchar * because figuring out when to free the string
gets tricky. Then go from quark -> URI string -> MFI. Return if
the folder is no longer valid, because this indicates that the MFI
was removed before this signal got called. Pass a string to
update_message_counts_main instead of an MFI.
(camel_folder_finalized): Don't bother unhooking the signals here.
Same change as above, but don't bother checking for a valid folder
because we're about to make it invalid anyway.
(message_list_built): Analogous to the above, except with the
FolderBrowser instead of the CamelFolder.
(selection_changed): As above.
(folder_browser_destroyed): As above.
(struct get_mail_info_msg): Instead of taking a mail_folder_info
*, take a URI, for reasons explained above.
(get_mail_info_receive): Go from URI -> MFI before doing anything.
(get_mail_info_reply): Same.
(get_mail_info_destroy): Free the URI.
(get_mail_info): Take a URI and return the message id so that it
can be cancelled if necessary.
(mail_folder_cache_remove_folder): Disconnect from signals and
events before removing.
(mail_folder_cache_note_folder): Use a GQuark instead of the
mail_folder_info * as the user_data.
(mail_folder_cache_note_fb): Same.
(mail_folder_cache_note_folderinfo): Little formatting change.
svn path=/trunk/; revision=12532
2001-08-30 Jeffrey Stedfast <fejj@ximian.com>
* message-browser.c (message_browser_message_loaded): Fixed a
memory leak.
(message_browser_new): Added a comment as to why , after
reparenting, we do not unref the mail_display.
(message_browser_destroy): Don't call gtk_widget_destroy() on the
message_list here.
svn path=/trunk/; revision=12531
2001-08-30 Peter Williams <peterw@ximian.com>
* mail-ops.c (remove_folder_get): Instead of removing the folder
from the folder cache here...
(remove_folder_got): ... do it here, in the main thread.
svn path=/trunk/; revision=12529
2001-08-29 Jon Trowbridge <trow@ximian.com>
* e-msg-composer.c (e_msg_composer_get_message_draft): Pass
in FALSE as the 'sending' arg to e_msg_composer_get_message.
(build_message): Added a 'sending' arg, which is passed to
e_msg_composer_get_message.
(e_msg_composer_get_message): Added a 'sending' arg,
which gets passed directly on to build_message.
* e-msg-composer-hdrs.c (e_msg_composer_hdrs_to_message): Added
a "sending" arg, which should be TRUE if the message is being
sent now (rather than being autosaved, etc.). The address
use scores are only updated when sending. (Bug #8332)
Removed obsolete (#if 0/#endif-ed) code.
2001-08-29 Jon Trowbridge <trow@ximian.com>
* mail-callbacks.c (composer_get_message): When calling
e_msg_composer_get_message, pass in TRUE for the 'sending' arg.
(Part of the fix for bug #8332)
svn path=/trunk/; revision=12518
2001-08-29 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c: Fix the pixmap for /commands/MessageUndelete.
in ui:
2001-08-29 Peter Williams <peterw@ximian.com>
* evolution-mail-message.xml: Add a pixtype to
/Commands/MessageUndelete so that people can see the icon.
svn path=/trunk/; revision=12515
2001-08-29 Peter Williams <peterw@ximian.com>
* component-factory.c (owner_set_cb): Toss in a call to
mail_config_init () cause it might contribute to solving
bug 4911, and it won't hurt.
svn path=/trunk/; revision=12514
2001-08-28 Peter Williams <peterw@ximian.com>
* component-factory.c
(create_view): Instead of
folder_browser_factory_new_control ("", corba_shell) when looking
at a mailstorage folder, use create_noselect_control().
svn path=/trunk/; revision=12504
2001-08-28 Peter Williams <peterw@ximian.com>
* component-factory.c (owner_unset_cb): Disable interaction once
the shell has quit.
svn path=/trunk/; revision=12500
* Evolution-ShellComponent.idl: Studlycapsize all the IDs that are
not.
* Evolution-common.idl: Likewise.
* evolution-activity-client.c: Updated accordingly.
* evolution-shell-component.c: Likewise.
* evolution-storage.c: Likewise.
* e-activity-handler.c: Likewise.
* e-component-registry.c: Likewise.
* e-corba-storage.c: Likewise.
* e-shell-user-creatable-items-handlers.c: Likewise.
* e-local-storage.c (remove_folder): Remove unused variable.
* e-shell-view.c (update_for_current_uri): Assign zero to
`unread_count', not NULL.
* e-shell-importer.c (import_druid_finish): Remove unused
variable.
* e-shell-user-creatable-items-handler.c: #include
"e-corba-utils.h".
* e-shell-startup-wizard.c: #include "e-shell-startup-wizard.h".
* e-shell-startup-wizard.h: #include <glib.h>
* e-summary-weather.c (weather_make_html): Make local variable
`icon_name' const. Remove unused variable `uri'.
* e-summary.h: Reformatted in GTK+ style.
(e_summary_remove_online_connection): Added prototype.
* e-summary-preferences.c (fill_mail_shown_clist): Constify local
variable `name'.
* e-summary-mail.c: #include "e-util/e-path.h". Updated to match
the new studlyCapsification in shell/Evolution*.idl.
* mail-local.c: Match the studlyCapsification of
shell/Evolution*.idl.
* mail-config-druid.h: Change type of `event_source' from
`Bonobo_EventSource *' to `Bonobo_EventSource'.
* mail-accounts.c (mail_delete): Remove unused local variable
`label'.
* folder-info.c (do_get_info): `#if 0' unused variables.
* gui/component/addressbook-component.c: Get rid of a warning by
initializing the closing NULL element in folder_types correctly.
* gui/component/select-names/e-select-names.c: Updated to match
the studlyCapsification of attributes in shell/Evolution*.idl.
svn path=/trunk/; revision=12495
2001-08-27 Jon Trowbridge <trow@ximian.com>
* mail-callbacks.c (mail_generate_reply): Check if we are trying
to reply to a message with no From: field, and try to do something
graceful in that case. (Bug #7028)
* mail-display.c (ebook_callback): Add paranoid checks for the
case of a message with a From: field. (Also maybe bug #7028)
svn path=/trunk/; revision=12490
2001-08-27 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-gui.c (mail_account_gui_new): Set the source and
transport description labels.
(transport_type_changed): Set the transport description label.
(source_type_changed): Set the source description label.
* mail-tools.c (mail_tool_make_message_attachment): Remove
X-Evolution* headers.
(mail_tool_remove_xevolution_headers): New function to convenience
removing the X-Evolution headers.
(mail_tool_restore_xevolution_headers): New convenience function
to restore the X-Evolution headers.
(mail_tool_destroy_xevolution): New function to cleanup the
structure.
(mail_tool_forward_message): Remove and restore the X-Evolution
headers here too.
svn path=/trunk/; revision=12487
2001-08-27 Jeffrey Stedfast <fejj@ximian.com>
* mail-tools.c (mail_tool_make_message_attachment): Remove
X-Evolution* headers.
(mail_tool_remove_xevolution_headers): New function to convenience
removing the X-Evolution headers.
(mail_tool_restore_xevolution_headers): New convenience function
to restore the X-Evolution headers.
(mail_tool_destroy_xevolution): New function to cleanup the
structure.
(mail_tool_forward_message): Remove and restore the X-Evolution
headers here too.
svn path=/trunk/; revision=12484
2001-08-26 Jeffrey Stedfast <fejj@ximian.com>
* mail-send-recv.c (receive_update_got_store): If the store is not
connected, scan it's subfolders first.
* mail-ops.c (report_status): Call va_end() so LinuxPPC doesn't
have a caniption.
svn path=/trunk/; revision=12479
2001-08-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (launch_cb): Use the new e_mkdtemp function.
* folder-browser.c (message_list_drag_data_get): Use the new
e_mkdtemp function.
svn path=/trunk/; revision=12462
* component-factory.c: Don't mark empty strings for translation.
Rather, give descriptions and display names to types "mailstorage"
and "vtrash".
svn path=/trunk/; revision=12453
2001-08-24 Peter Williams <peterw@ximian.com>
* mail-ops.c (remove_folder_get): Save the folder's full_name, unref it,
and *then* unref the store, so that the folder has been closed before
it gets deleted.
svn path=/trunk/; revision=12446
2001-08-24 Peter Williams <peterw@ximian.com>
* mail-config.c (add_shortcut_entry): Instead of using the length
of the shortcuts list as the index for the shortcut, use -1, which
means "last".
* mail-config-druid.c (druid_finish): Remove the account adding
stuff since that happens in wizard_finish now.
* mail-config.c (add_new_storage): New function. Add a
MailConfigAccount to the shell as a storage.
(maybe_add_shortcut): Renamed to new_source_created.
(new_source_created): Call add_new_storage here.
* component-factory.c (mail_remove_storage_by_uri): Don't warn
if the storage isn't remote... no point in making the caller
do extra work.
svn path=/trunk/; revision=12445
2001-08-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_set_thread_list): Don't let the uri
be an empty string (how the fuck is this even happening in the
first place??).
(mail_config_get_thread_list): Same.
(mail_config_set_show_preview): And here.
(mail_config_get_show_preview): And finally here.
svn path=/trunk/; revision=12443
2001-08-23 Larry Ewing <lewing@ximian.com>
* mail-search.c (mail_search_construct): attach to the destroy
handler to reset the tokenizer.
(dialog_destroy_cb): reset the tokenizer here so that destroying
the dialog with the window manager still clears the hilighted
items.
svn path=/trunk/; revision=12431
2001-08-23 Peter Williams <peterw@ximian.com>
* mail-account-gui.c (mail_account_gui_save): Eek, let the user create
new accounts if old_account == NULL.
svn path=/trunk/; revision=12425
2001-08-23 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (destination_folder_handle_drop): Check to
make sure we actually have drag data.
* folder-browser.c (message_list_drag_data_received): Check to
make sure we have valid data.
svn path=/trunk/; revision=12424
2001-08-23 Peter Williams <peterw@ximian.com>
* mail-folder-cache.c (maybe_update): Record the timeout_id so we
can cancel it if the mail_folder_info is later freed. Also obviates
the use of the _UPDATE_QUEUED flag.
(mail_folder_cache_remove_folder): Cancel the timeout if we need to.
Lock around the hash table operations. Free mfi itself. Add debugging
spew.
(get_folder_info): Initialiae the timeout_id to 0.
svn path=/trunk/; revision=12417
2001-08-22 Jon Trowbridge <trow@ximian.com>
* gui/contact-list-editor/e-contact-list-editor.c (extract_info):
In the GUI, the toggle is labelled "hide addresses", not "show
addresses" -- so we have to reverse the boolean value we read in.
(fill_in_info): Same bug as before: since the GUI reads "hide", we
have to initialize the toggle to '!show_addresses', not
'show_addresses'.
* backend/ebook/e-destination.c
(e_destination_list_show_addresses): Added.
(e_destination_xml_encode): Encode the value of
e_destination_list_show_addresses into the XML.
(e_destination_xml_decode): Read and store the "show_addresses"
flag.
2001-08-22 Jon Trowbridge <trow@ximian.com>
* e-msg-composer-hdrs.c (set_recipients_from_destv): Added. Try
to properly handle contact lists in which the addresses of the
list members should be hidden.
(e_msg_composer_hdrs_to_message): Changed to extract the
destination data from the entries and pass it along to
set_recipients_from_destv.
2001-08-22 Jon Trowbridge <trow@ximian.com>
* mail-callbacks.c (ask_confirm_for_only_bcc): Provide alternative
text for this dialog for the case when a message has only Bcc
recipients because of a hidden contact list's addresses being
moved from To/Cc to Bcc.
(composer_get_message): Try to detect when our message has only
Bcc recipients because of moving addresses around due to a hidden
contact list, and show the dialog with the revised wording in this
case.
svn path=/trunk/; revision=12414
2001-08-22 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (create_view): Don't blindly make all vtrash
folder types have a uri of vtrash:file:/, instead only make it use
vtrash:file:/ if it's a file: uri, else use physical_uri.
svn path=/trunk/; revision=12411
2001-08-22 jacob berkman <jacob@ximian.com>
* gui/component/e-address-popup.c (emit_event): emit an event from
our event source
(contact_editor_cb): emit a destroy event so our control frame can
be destroyed.
(edit_contact_info_cb): emit a hide event so our control frame can
be hidden
(e_address_popup_cardify):
(add_contacts_cb): emit the destroy event
(e_address_popup_factory_new_control): don't unref our object at
widget destroy time as that was really really broken
(e_address_popup_factory_new_control): create an event source and
aggregate ourself with it
* gui/contact-editor/e-contact-editor.c (enable_writable_fields):
display a nicer warning when we can't find a widget for a given
field
(e_contact_editor_raise): only raise if there is a window
* gui/contact-editor/contact-editor.glade: name some widgets that
got unnamed, and set the first entry as defaultable
* gui/contact-editor/e-contact-editor.c: envelope printing is
disabled in 1.0 2001-08-22 jacob berkman <jacob@ximian.com>
* mail-display.c: rework how the e-card-popup thing has its life
managed. we now hide the window on the Hide event and destroy it
on the Destroy event emitted from its event source
svn path=/trunk/; revision=12402
2001-08-22 Peter Williams <peterw@ximian.com>
* mail-send-recv.c (set_send_status): We don't need to escape this
for printf'ing.
svn path=/trunk/; revision=12394
2001-08-22 Peter Williams <peterw@ximian.com>
Prevent the user from creating two accounts with the same name.
* mail-config.c (impl_GNOME_Evolution_MailConfig_addAccount): Abort
if the account has the same name as another account.
* mail-account-gui.c (mail_account_gui_save): Don't let the user
save if the account has the same name as another account.
* mail-config-druid.c (management_check): Disable the next button
if the account name is the same as a preexisting account.
(construct): The only part of 'pages' that was being used was the
name. 'wizard_pages' now has the callbacks, while 'pages' is just
an array of char *'s.
(wizard_finish_cb): Save the account first because that's the
right way, and try to honor mail_account_gui_save's return value.
* mail-config.glade: Add a label noting that you're not allowed
to create two accounts with the same name.
svn path=/trunk/; revision=12384
2001-08-22 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c (fbui_sensitize_timeout): Check for NULL uic
here as well.
(fbui_sensitize_items): Up the timeout interval to 110 ms.
svn path=/trunk/; revision=12380
2001-08-21 Peter Williams <peterw@ximian.com>
* mail-account-editor.c (apply_changes): Honor the return value of
mail_account_gui_save.
svn path=/trunk/; revision=12370
* mail-identify.c (mail_identify_mime_part): Don't trust gnome-vfs
when it says "text/plain" if gnome_vfs_mime_type_from_name says
something different. Fixes a problem with recognizing icalendar
attachments labeled "application/octet-stream". Also, don't bother
asking gnome-vfs about winmail.dat attachments, since it will
often claim that they're MPEGs due to some mis-magic.
svn path=/trunk/; revision=12357
2001-08-21 Peter Williams <peterw@ximian.com>
* message-list.c (message_list_set_folder): Don't sink the extras since
_set_folder can get called more than once (on reconfigure.)
(message_list_destroy): So just unref the extras here.
svn path=/trunk/; revision=12345
2001-08-21 Peter Williams <peterw@ximian.com>
* mail-send-recv.c (build_dialogue): Treat the spool provider like IMAP:
update instead of performing an explicit receive.
svn path=/trunk/; revision=12344
2001-08-21 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c (fbui_sensitize_items): Rename to
fbui_real_sensitize_items. Now we queue a change and set up a timeout,
making sure weed out redundant changes, fixing flicker.
(fbui_sensitize_timeout): New function. The timeout.
(fbui_real_sensitize_items): Semi-new function. Rename of old
fbui_sensitize_items.
(folder_browser_ui_set_selection_state): Pass the FB instead of only
the UIC to sensitize_items.
(folder_browser_ui_message_loaded): Same.
* folder-browser.c (folder_browser_destroy): Kill the new timeout if
it is registered.
* folder-browser.h: Add some members to FolderBrowser for keeping
track of the queue of changes.
svn path=/trunk/; revision=12343
2001-08-20 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (create_folder): Modify the url and set the
protocol to mbox rather than hacking it and prepending mbox: to
the uri.
* mail-local.c (get_folder): Don't prepend the folder_name with
the store's path because the hash key is folder_name, not
/folder_name.
svn path=/trunk/; revision=12325
* evolution-mail-list.xml: Move the ChangeFolderProperties into
the ComponentPlaceholder. Add a separator on the top.
* evolution.xml: Remove the separator above the component
placeholder here.
* folder-browser-ui.c (folder_browser_setup_property_menu):
Updated as ChangeFolderProperties is now in the
ComponentPlaceholder.
svn path=/trunk/; revision=12323