aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/component-factory.c19
2 files changed, 26 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 7b0fa73dc9..cca3ce3e97 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,10 @@
+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.
+
2001-08-13 Jason Leach <jleach@ximian.com>
* mail-local.c (get_folder): Fix this so it can actually get
diff --git a/mail/component-factory.c b/mail/component-factory.c
index c11706e628..73147a1dab 100644
--- a/mail/component-factory.c
+++ b/mail/component-factory.c
@@ -697,6 +697,21 @@ handle_external_uri_cb (EvolutionShellComponent *shell_component,
send_to_url (uri);
}
+static void
+user_create_new_item_cb (EvolutionShellComponent *shell_component,
+ const char *id,
+ const char *parent_folder_physical_uri,
+ const char *parent_folder_type,
+ gpointer data)
+{
+ if (!strcmp (id, "message")) {
+ send_to_url (NULL);
+ return;
+ }
+
+ g_warning ("Don't know how to create item of type \"%s\"", id);
+}
+
static BonoboObject *
component_fn (BonoboGenericFactory *factory, void *closure)
{
@@ -720,6 +735,8 @@ component_fn (BonoboGenericFactory *factory, void *closure)
bonobo_object_add_interface (BONOBO_OBJECT (shell_component),
BONOBO_OBJECT (destination_interface));
+ evolution_shell_component_add_user_creatable_item (shell_component, "message", _("New Mail Message"), _("New _Mail Message"), 'm');
+
gtk_signal_connect (GTK_OBJECT (shell_component), "owner_set",
GTK_SIGNAL_FUNC (owner_set_cb), NULL);
gtk_signal_connect (GTK_OBJECT (shell_component), "owner_unset",
@@ -730,6 +747,8 @@ component_fn (BonoboGenericFactory *factory, void *closure)
GTK_SIGNAL_FUNC (owner_unset_cb), NULL);
gtk_signal_connect (GTK_OBJECT (shell_component), "handle_external_uri",
GTK_SIGNAL_FUNC (handle_external_uri_cb), NULL);
+ gtk_signal_connect (GTK_OBJECT (shell_component), "user_create_new_item",
+ GTK_SIGNAL_FUNC (user_create_new_item_cb), NULL);
offline_handler = mail_offline_handler_new ();
bonobo_object_add_interface (BONOBO_OBJECT (shell_component), BONOBO_OBJECT (offline_handler));