diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-09-05 00:05:35 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-09-05 00:05:35 +0800 |
commit | ddaa0af2ceba5de217424eeddfa3f650049ddfa1 (patch) | |
tree | dde4bded2ee16494bb4862632df9e346269631af /mail/component-factory.c | |
parent | a52720a9213d760bb8a9c21b354ab46de7b763dd (diff) | |
download | gsoc2013-evolution-ddaa0af2ceba5de217424eeddfa3f650049ddfa1.tar.gz gsoc2013-evolution-ddaa0af2ceba5de217424eeddfa3f650049ddfa1.tar.zst gsoc2013-evolution-ddaa0af2ceba5de217424eeddfa3f650049ddfa1.zip |
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
Diffstat (limited to 'mail/component-factory.c')
-rw-r--r-- | mail/component-factory.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mail/component-factory.c b/mail/component-factory.c index 3102db603b..50202fbce1 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -422,6 +422,28 @@ populate_folder_context_menu (EvolutionShellComponent *shell_component, bonobo_ui_component_set_translate (uic, EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER, popup_xml, NULL); } +static void +unpopulate_folder_context_menu (EvolutionShellComponent *shell_component, + BonoboUIComponent *uic, + const char *physical_uri, + const char *type, + void *closure) +{ + if (strcmp (type, "mail") != 0) + return; + + /* FIXME: handle other types */ + + /* the unmatched test is a bit of a hack but it works */ + if (strncmp(physical_uri, "vfolder:", 8) != 0 + || strstr(physical_uri, "#" CAMEL_UNMATCHED_NAME) != NULL) + return; + + bonobo_ui_component_rm (uic, + EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER "/ChangeFolderPropertiesPopUp", + NULL); +} + static char * get_dnd_selection (EvolutionShellComponent *shell_component, const char *physical_uri, @@ -976,6 +998,7 @@ create_component (void) remove_folder, xfer_folder, populate_folder_context_menu, + unpopulate_folder_context_menu, get_dnd_selection, request_quit, NULL); |