2001-09-15 <NotZed@Ximian.com>
* mail-vfolder.c: Major rewrite of most of the guts, handle
changes based on signals and events, etc. Use the main storage
handling code that imap uses, etc.
* mail-tools.c (mail_tool_uri_to_folder): Dont special case
vfolder: anymore.
* component-factory.c (owner_set_cb): use vfolder_load_storage(),
new function to setup vfolder storage, after interaction has been
enabled only. This might need some tweaking ...
(storage_remove_folder): Removed all the folder lookup stuff.
Just delete the folder based on the path passed in. There should
be no reason this wouldn't work, right?
2001-09-14 <NotZed@Ximian.com>
* mail-ops.c (get_folderinfo_get): Only add vtrash folder info, if
store supports vtrash.
* component-factory.c (mail_load_storage_by_uri): Let 'vfolder'
stores show up too.
2001-09-13 <NotZed@Ximian.com>
* mail-vfolder.c (vfolder_uri_to_folder): Open a vfolder then set
its expression, since name?query open method is removed.
svn path=/trunk/; revision=12856
2001-09-10 <NotZed@Ximian.com>
* mail-local.c (mail_local_reconfigure_folder): Dynamically create
the folder type list from camel.
(reconfigure_clicked): And change code to handle changes.
2001-09-10 <NotZed@Ximian.com>
* merged mail_local patch from peterw. Many changes.
svn path=/trunk/; revision=12759
2001-09-06 Chris Toshok <toshok@ximian.com>
* component-factory.c (notify_listener): new function, to notify
the bonobo listener in remove_folder/create_folder.
(storage_create_folder): match EvolutionStorage create_folder
signal's signature.
(storage_remove_folder): match EvolutionStorage remove_folder
signal's signature.
svn path=/trunk/; revision=12671
2001-09-05 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_remove_account): Adjust the
default_account index correctly.
2001-09-05 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_get_accounts): Added a g_assert to
make sure that config wasn't NULL. This is meant to help debug bug
#4911 and friends.
* component-factory.c (owner_set_cb): Do not mail_config_init()
here as we've already called this in main() in main.c.
svn path=/trunk/; revision=12640
the mailer case.]
* GNOME_Evolution_Mail.oaf.in: Remove the
GNOME_Evolution_Mail_ShellComponentFactory.
* component-factory.c: Changed to not use a factory.
(COMPONENT_FACTORY_ID): Removed.
(COMPONENT_ID): New.
(idle_quit): Don't unref the component_factory.
(create_component): Renamed from `component_fn'. Take no args.
(component_factory_init): Create the component with
`create_component' and register it on OAF.
svn path=/trunk/; revision=12637
* 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-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
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
* 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-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-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-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-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
2001-08-20 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (storage_create_folder):
camel_folder_create_folder can now return a heirachial tree so
subscribe to down the tree.
svn path=/trunk/; revision=12257
* evolution-test-component.c: Added display_name and description
to the type.
* evolution-shell-component.c (impl__get_supported_types): Pass
`display_name' and `description' here.
(evolution_shell_component_construct): Likewise.
* evolution-shell-component.h: New members `display_name',
`description' in `EvolutionShellComponentFolderType'.
* e-component-registry.c (register_type): New args @description
and @display_name. Pass to
`e_folder_type_registry_register_type()'.
(register_component): Pass the values returned in the sequence
from __get_supported_types.
* e-folder-type-registry.c: New members `display_name' and
`description' in `struct _FolderType'.
(folder_type_new): New args @description and @display_name.
Initialize the respective fields in the `FolderType' accordingly.
(folder_type_free): Free `display_name' and `description'.
(register_folder_type): New args @display_name, @description.
(e_folder_type_registry_register_type): New args @display_name,
@description.
(e_folder_type_registry_get_description_for_type): New.
(e_folder_type_registry_get_display_name_for_type): New.
* Evolution-ShellComponent.idl: Added `display_name' and
`description' fields to the `FolderType' struct.
svn path=/trunk/; revision=12245
2001-08-19 Jeffrey Stedfast <fejj@ximian.com>
* mail-mt.c (do_op_status): Allow the activity to be NULL if there
isn't a global_shell_client so that we don't try and report status
updates when the shell is destroyed.
* mail-config.c (add_shortcut_entry): Return if there isn't a
global_shell_client.
* component-factory.c (owner_set_cb): set the global_shell_client
here and connect to the destroy signal.
* mail-vfolder.c (vfolder_create_storage): Use an extern global_shell_client.
svn path=/trunk/; revision=12242
2001-08-13 Peter Williams <peterw@ximian.com>
* component-factory.c (user_create_new_item_cb): New function,
handle "user creatable items".
(component_fn): Tell the shell that we're capable of creating
mail messages.
svn path=/trunk/; revision=11965
2001-08-13 Jason Leach <jleach@ximian.com>
* mail-local.c (get_folder): Fix this so it can actually get
folders from the hash of folders on the local store (it was
looking up plain @folder_name, which is typically "mbox", instead
of the full URI, /home/jleach/evolution/local/Foo/mbox).
* component-factory.c (do_remove_folder): Rename to
remove_folder_done, more fitting for it's purpose.
(do_xfer_folder): Similar name change.
(do_create_folder): Similar name change.
(remove_folder): Don't notifyResult for the component here, we
will notify with our result in remove_folder_done.
(xfer_folder): Ditto.
* mail-vfolder.c (vfolder_refresh): Create new folders with unread
counts of "0" instead of #FALSE (which just happens to be #defined
as zero).
svn path=/trunk/; revision=11964
2001-08-08 Peter Williams <peterw@ximian.com>
* component-factory.c (mail_load_storages): Don't load the storage
if it isn't enabled.
(mail_remove_storage_by_uri): New function. Goes through the
gymnastics of getting a CamelStore from the URI and calling
mail_remove_storage. Copied from mail_delete().
(mail_load_storage_by_uri): Break out the storage-loading part of
mail_load_storages into a single function.
(mail_load_storages): Just call mail_load_storage_by_uri several
times.
* mail.h: Prototype our new _by_uri functions.
* mail-accounts.c (news_add_destroyed): Instead of hacking around
mail_load_storages, call mail_load_storage_by_uri.
(mail_delete): Move this chunk of code into
mail_remove_storage_by_uri.
(mail_able): Add or remove the storage as necessary, with our
new _by_uri functions.
* mail-config-druid.c (druid_finish): See news_add_destroyed above.
svn path=/trunk/; revision=11881
2001-08-08 Peter Williams <peterw@ximian.com>
[ Change this gtk_object_ref on the storage to a bonobo_object_ref ]
* component-factory.c (mail_lookup_storage): And here.
* mail-vfolder.c (mail_vfolder_get_vfolder_storage): And here.
svn path=/trunk/; revision=11791
2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.glade: Added key accelerators to a bunch of the
config options and moved the Bcc and empty-subject checkboxes to
the composer tab where they belong.
* mail-callbacks.c (providers_config): Raise the dialog if it
exists already.
(manage_subscriptions): Raise the dialog if it already exists.
(main_select_first_unread): Removed (we haven't needed this code
in ages).
(select_first_unread): Same.
(save_msg_ok): If the path is empty, just return.
* mail-local.c (mail_local_reconfigure_folder): Raise the dialog
if it already exists.
svn path=/trunk/; revision=11719
2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (empty_trash): Yuck. Special case whether or
not we want to expunge all the trash folders syncronously or
asyncronously based on whether or not we are doing Empty-On-Exit
or emptying trash by user request respectively.
svn path=/trunk/; revision=11701
* component-factory.c (component_factory_init): Back to using
`bonobo_generic_factory_new()'.
(component_fn): Updated accordingly.
svn path=/trunk/; revision=11694
2001-08-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-vfolder.c (vfolder_create_storage): Connect to the
folder_remove signal on the storage.
(vfolder_remove): New function to remove a vfolder.
svn path=/trunk/; revision=11591
* component-factory.c (populate_folder_context_menu): Added (unused)
table with strings intended to be translated (i18n tools can't extract
strings from XML data inside .c file).
svn path=/trunk/; revision=11458
2001-07-26 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (message_list_drag_data_get): If we don't have
any messages selected, break out. This fixes bug #5612.
* component-factory.c (xfer_folder): Fixed a strstr (url,
"noselect=yes") brokenness.
(destination_folder_handle_motion): Same.
(destination_folder_handle_drop): And again here.
* mail-format.c (handle_application_pgp): Implemented.
(setup_mime_tables): Setup the application/pgp handler to use
handle_application_pgp instead of handle_text_plain.
(handle_text_plain): Remove special-case hacks for application/pgp
types.
svn path=/trunk/; revision=11438
2001-07-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (guess_me): Do a case-insensitive comparison.
(mail_generate_reply): Only resort to the source account's
identity if we can't find out which identity to use based on the
recipients of the message first.
* mail-config.c (mail_config_get_default_account): Make sure to
return the 0th account if we don't have a default. We don't want
to return NULL.
* mail-callbacks.c (empty_trash): Use mail_tool_get_trash for the
remote store trash folders.
* mail-tools.c (mail_tool_get_trash): New convenience function.
svn path=/trunk/; revision=11353
2001-07-24 Not Zed <NotZed@Ximian.com>
* component-factory.c (create_folder): Dont call notifyResult here
if we've just launched a thread to do the work, it calls it
itself. This apparently breaks the importers, but thats a
different issue.
svn path=/trunk/; revision=11335
the ShellComponent interface. Updated the EvolutionShellComponent
GTK+ wrapper and all the component accordingly. Get the calendar to
use this so it can delete both tasks and calendar folders.
svn path=/trunk/; revision=11300
2001-07-20 Peter Williams <peterw@ximian.com>
* component-factory.c (storage_remove_folder): Don't let the user
remove vtrash folders.
svn path=/trunk/; revision=11267
2001-07-20 Peter Williams <peterw@ximian.com>
* mail-mt.c (mail_msgport_replied): Fix DanW's fix. Pass the right
arguments to mail_msg_destroy.
* component-factory.c (component_fn): Don't populate the context
menu; our only action didn't even work.
(populate_folder_context_menu): Removed. ChangeFolderProperties
needs a FolderBrowser which we don't have. It didn't even work
before.
* mail-local.c (mail_local_reconfigure_folder): Bring the creation
of the hash table to the beginning to prevent warnings. Complain
if the mailbox is non-local.
svn path=/trunk/; revision=11266
2001-07-19 Peter Williams <peterw@ximian.com>
Policy change: NULL url's are no longer allowed in CamelFolderInfos. They used
to signify that the folder was, in IMAP jargon, NoSelect; now the same effect
is achieved by adding a "noselect=yes" parameter to the end of the URL. As far
as I know, IMAP is the only affected provider.
* providers/imap/camel-imap-store.c (delete_folder): New function. Implement
folder deletion.
(camel_imap_store_class_init): Set the delete_folder class function here.
(get_folder_status): New function. Utility wrapper around the STATUS command.
(create_folder): If the parent folder is NoSelect but is empty, delete it
and recreate it as a a subfolder-containing folder. If it is NoSelect but
contains messages, set an exception.
(parse_list_response_as_folder_info): Always set the FolderInfo's URL, but
add a NoSelect parameter if it isn't selectable.
(get_folder_info_online): Change logic of removing the namespace to reflect
URL change. Same for logic of checking unread counts.
(get_folder_info_online): Use get_folder_status to simplify this.
* camel-store.c (camel_folder_info_build): When creating
dummy parents, copy the child's URL and set the NoSelect
parameter.
In mail:
2001-07-19 Peter Williams <peterw@ximian.com>
Track the NoSelect changes in Camel.
* mail-callbacks.c (create_folders): We don't need to check if
the URL is NULL or not anymore.
* component-factory.c (create_noselect_control): New
function. Create a dummy control for folders that can't contain
messages (ie \NoSelect)
(create_view): If the URI says the folder is noselect, make a
dummy control. FIXME: still should merge in the global UI
elements.
(xfer_folder): Don't allow the operation if the destination is
NoSelect.
(destination_folder_handle_motion): Ditto.
(destination_folder_handle_drop): Ditto.
svn path=/trunk/; revision=11237
2001-07-17 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (message_list_drag_data_recieved): Fix to
correctly handle text/uri-lists that contain more than a single
url.
* component-factory.c (destination_folder_handle_drop): Fix to
correctly handle text/uri-lists that contain more than a single
url.
svn path=/trunk/; revision=11174
2001-07-16 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (add_vtrash_info): Use g_strcasecmp() when looking
for a Trash folder - it may be lowercase or something funky.
* mail-local.c (init_trash): No need to specify the vfolder
expression here. This code was moved into camel-vtrash-folder.c
ages ago.
* component-factory.c: Let VTrash folders accept/export the same
dnd types as normal folders.
svn path=/trunk/; revision=11140
2001-07-16 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c: Let VTrash folders accept/export the same
dnd types as normal folders.
svn path=/trunk/; revision=11134
2001-07-06 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (folder_browser_copy): Mark the messages as
Seen also.
(folder_browser_class_init): Create an atom type for
X-Evolution-Message selection type.
(my_folder_browser_init): Add our multiple selection types, one of
which is the default string type.
* component-factory.c (destination_folder_handle_drop): Update to
use the new X-Evolution-Message type format.
* folder-browser.c (selection_get): Convert the
X-Evolution-Message clipboard type to whatever format the target
wants.
(message_list_drag_data_get): Update because the
X-Evolution-Message type changed.
(folder_browser_copy): Same.
(x_evolution_message_parse): And here too.
svn path=/trunk/; revision=10853
that it only happens in the mailer (which is the only component
actually using this).
For some reason it still doesn't work properly (i.e. the menu item
currently does nothing), but I haven't quite figured out why yet.
svn path=/trunk/; revision=10840
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