From ddaa0af2ceba5de217424eeddfa3f650049ddfa1 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Wed, 4 Sep 2002 16:05:35 +0000 Subject: Pass NULL as @unpopulate_folder_context_menu_fn to * gui/component/addressbook-component.c (create_component): Pass NULL as @unpopulate_folder_context_menu_fn to evolution_shell_component_new(). * gui/component-factory.c (create_object): Pass NULL as @unpopulate_folder_context_menu_fn to evolution_shell_component_new(). * mail-account-gui.c (mail_account_gui_save): Remove unused variable. * component-factory.c (unpopulate_folder_context_menu): New. (create_component): Pass it to evolution_shell_component_new(). * component-factory.c (create_component): Pass NULL as @unpopulate_folder_context_menu_fn to evolution_shell_component_new(). * e-storage-set-view.c (popup_folder_menu): Remove the context menu items using evolution_shell_component_client_unpopulate_folder_context_menu() instead of doing it ourself, since BonoboUI sucks. * evolution-shell-component-client.c (evolution_shell_component_client_unpopulate_folder_context_menu): New. * evolution-test-component.c (register_component): Pass NULL as @unpopulate_folder_context_menu_fn to evolution_shell_component_new(). * evolution-shell-component.c: New member unpopulate_folder_context_menu_fn in EvolutionShellComponentPrivate. New member uic in EvolutionShellComponentPrivate. (init): Init new members to NULL. (destroy): bonobo_object_unref() priv->uic if not NULL. (evolution_shell_component_new): New arg @unpopulate_folder_context_menu_fn. (evolution_shell_component_construct): Likewise. (impl_populateFolderContextMenu): Set priv->uic to the newly created UIComponent. (impl_unpopulateFolderContextMenu): New, implementation for the ::unpopulateFolderContextMenu CORBA method. (class_init): Install. * Evolution-ShellComponent.idl (unpopulateFolderContextMenu): New method. (AlreadyPopulated): New exception. (populateFolderContextMenu): Can raise it. (NotPopulated): New exception. svn path=/trunk/; revision=17963 --- shell/evolution-shell-component-client.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'shell/evolution-shell-component-client.c') diff --git a/shell/evolution-shell-component-client.c b/shell/evolution-shell-component-client.c index 6d97c6e241..9276c6fa0f 100644 --- a/shell/evolution-shell-component-client.c +++ b/shell/evolution-shell-component-client.c @@ -840,6 +840,38 @@ evolution_shell_component_client_populate_folder_context_menu (EvolutionShellCom CORBA_exception_free (&ev); } +void +evolution_shell_component_client_unpopulate_folder_context_menu (EvolutionShellComponentClient *shell_component_client, + BonoboUIContainer *container, + const char *physical_uri, + const char *type) +{ + Bonobo_UIContainer corba_container; + EvolutionShellComponentClientPrivate *priv; + GNOME_Evolution_ShellComponent corba_shell_component; + CORBA_Environment ev; + + g_return_if_fail (shell_component_client != NULL); + g_return_if_fail (EVOLUTION_IS_SHELL_COMPONENT_CLIENT (shell_component_client)); + g_return_if_fail (physical_uri != NULL); + g_return_if_fail (type != NULL); + + priv = shell_component_client->priv; + + CORBA_exception_init (&ev); + + corba_shell_component = bonobo_object_corba_objref (BONOBO_OBJECT (shell_component_client)); + corba_container = bonobo_object_corba_objref (BONOBO_OBJECT (container)); + + GNOME_Evolution_ShellComponent_unpopulateFolderContextMenu (corba_shell_component, + corba_container, + physical_uri, + type, + &ev); + + CORBA_exception_free (&ev); +} + void evolution_shell_component_client_request_quit (EvolutionShellComponentClient *shell_component_client, -- cgit v1.2.3