diff options
Diffstat (limited to 'shell/evolution-shell-client.c')
-rw-r--r-- | shell/evolution-shell-client.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/shell/evolution-shell-client.c b/shell/evolution-shell-client.c index d33b5d24e9..ff5386baa4 100644 --- a/shell/evolution-shell-client.c +++ b/shell/evolution-shell-client.c @@ -27,8 +27,10 @@ #include <gdk/gdkx.h> #include <gtk/gtkmain.h> +#include <bonobo/bonobo-exception.h> #include <bonobo/bonobo-main.h> #include <bonobo/bonobo-object.h> +#include <bonobo/bonobo-widget.h> #include <gal/util/e-util.h> @@ -593,4 +595,49 @@ evolution_shell_client_get_pixbuf_for_type (EvolutionShellClient *shell_client, } +GtkWidget * +evolution_shell_client_create_storage_set_view (EvolutionShellClient *shell_client, + Bonobo_UIComponent uic, + Bonobo_Control *bonobo_control_iface_return, + GNOME_Evolution_StorageSetView *storage_set_view_iface_return, + CORBA_Environment *ev) +{ + GNOME_Evolution_Shell corba_shell; + CORBA_Environment my_ev; + Bonobo_Control control; + GtkWidget *control_widget; + + g_return_val_if_fail (EVOLUTION_IS_SHELL_CLIENT (shell_client), NULL); + + CORBA_exception_init (&my_ev); + if (ev == NULL) + ev = &my_ev; + + corba_shell = BONOBO_OBJREF (shell_client); + + control = GNOME_Evolution_Shell_createStorageSetView (corba_shell, ev); + if (BONOBO_EX (ev)) { + g_warning ("Cannot create StorageSetView -- %s", BONOBO_EX_ID (ev)); + CORBA_exception_free (&my_ev); + return NULL; + } + + if (bonobo_control_iface_return != NULL) + *bonobo_control_iface_return = control; + + control_widget = bonobo_widget_new_control_from_objref (control, uic); + + if (storage_set_view_iface_return != NULL) { + *storage_set_view_iface_return = Bonobo_Unknown_queryInterface (control, + "IDL:GNOME/Evolution/StorageSetView:1.0", + ev); + if (BONOBO_EX (ev)) + *storage_set_view_iface_return = NULL; + } + + CORBA_exception_free (&my_ev); + return control_widget; +} + + E_MAKE_TYPE (evolution_shell_client, "EvolutionShellClient", EvolutionShellClient, class_init, init, PARENT_TYPE) |