Index: storage/GNOME_Evolution_Exchange_Storage.server.in.in
===================================================================
RCS file: /cvs/gnome/evolution-exchange/storage/GNOME_Evolution_Exchange_Storage.server.in.in,v
retrieving revision 1.2
diff -u -3 -r1.2 GNOME_Evolution_Exchange_Storage.server.in.in
--- storage/GNOME_Evolution_Exchange_Storage.server.in.in	3 Jun 2004 15:47:55 -0000	1.2
+++ storage/GNOME_Evolution_Exchange_Storage.server.in.in	28 Jun 2004 04:39:19 -0000
@@ -20,6 +20,8 @@
 		<item value="IDL:GNOME/Evolution/Component:@BASE_VERSION@"/>
 	</oaf_attribute>
 
+	<oaf_attribute name="evolution:component_alias" type="string" value="exchange"/>
+
 	<oaf_attribute name="name" type="string"
 		       _value="Evolution Exchange Component"/>
 	<oaf_attribute name="evolution:button_icon" type="string"
Index: storage/exchange-component.c
===================================================================
RCS file: /cvs/gnome/evolution-exchange/storage/exchange-component.c,v
retrieving revision 1.2
diff -u -3 -r1.2 exchange-component.c
--- storage/exchange-component.c	12 Jun 2004 10:56:11 -0000	1.2
+++ storage/exchange-component.c	28 Jun 2004 04:39:19 -0000
@@ -29,6 +29,8 @@
 #include <bonobo/bonobo-exception.h>
 #include <bonobo/bonobo-main.h>
 
+#include "shell/e-component-view.h"
+
 #include "e-storage-set.h"
 #include "e-storage-set-view.h"
 
@@ -115,36 +117,27 @@
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
-static void
-impl_createControls (PortableServer_Servant servant,
-		     Bonobo_Control *sidebar_control,
-		     Bonobo_Control *view_control,
-		     Bonobo_Control *statusbar_control,
-		     CORBA_Environment *ev)
+static GNOME_Evolution_ComponentView
+impl_createView (PortableServer_Servant servant,
+		 GNOME_Evolution_ShellView parent,
+		 CORBA_Environment *ev)
 {
 	ExchangeComponent *component = EXCHANGE_COMPONENT (bonobo_object_from_servant (servant));
 	ExchangeComponentPrivate *priv = component->priv;
 	XCBackendView *view;
 	BonoboControl *control = NULL;
 
-	d(printf("createControls...\n"));
+	d(printf("createView...\n"));
 
 	view = xc_backend_view_new (priv->config_listener,
 				    priv->folder_type_registry);
 	if (view)
 		priv->views = g_slist_append (priv->views, control);
 
-	control = xc_backend_view_get_sidebar (view);
-	*sidebar_control =
-		CORBA_Object_duplicate (BONOBO_OBJREF (control), ev);
-
-	control = xc_backend_view_get_statusbar (view);
-	*statusbar_control =
-		CORBA_Object_duplicate (BONOBO_OBJREF (control), ev);
-
-	control = xc_backend_view_get_view (view);
-	*view_control =
-		CORBA_Object_duplicate (BONOBO_OBJREF (control), ev);
+	return BONOBO_OBJREF(e_component_view_new_controls(parent, "exchange",
+							   xc_backend_view_get_sidebar (view),
+							   xc_backend_view_get_view (view),
+							   xc_backend_view_get_statusbar (view));
 }
 
 static void
@@ -349,7 +342,7 @@
 	object_class->dispose = dispose;
 	object_class->finalize = finalize;
 
-	epv->createControls     = impl_createControls;
+	epv->createView         = impl_createView;
 	epv->upgradeFromVersion = impl_upgradeFromVersion;
 	epv->requestQuit        = impl_requestQuit;
 	epv->quit               = impl_quit;
