diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ChangeLog | 15 | ||||
-rw-r--r-- | shell/e-storage-set-view.c | 26 | ||||
-rw-r--r-- | shell/evolution-shell-component-client.c | 14 | ||||
-rw-r--r-- | shell/evolution-shell-component-client.h | 4 |
4 files changed, 51 insertions, 8 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index c3e1404f4f..d4be2f31af 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,5 +1,20 @@ 2001-05-11 Chris Toshok <toshok@ximian.com> + * e-storage-set-view.c + (populate_folder_context_menu_with_common_items): add RemoveFolder + menu item and verb. + (folder_context_menu_remove_cb): new function, call + e_storage_set_async_remove_folder. + (remove_cb): callack for e_storage_set_async_remove_folder. + + * evolution-shell-component-client.c + (evolution_shell_component_client_populate_folder_context_menu): + fix prototype to reflect Component -> Container. + + * evolution-shell-component-client.h: same. + +2001-05-11 Chris Toshok <toshok@ximian.com> + * evolution-shell-component.h (EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER): add this define for the xml path to use when adding menu items to the folder popup. diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c index 2a51735854..8b9d054361 100644 --- a/shell/e-storage-set-view.c +++ b/shell/e-storage-set-view.c @@ -647,12 +647,34 @@ folder_context_menu_activate_cb (BonoboUIComponent *uih, } static void +remove_cb(EStorageSet *storage_set, EStorageResult result, void *data) +{ + g_print ("remove_cb: %d\n", result); +} + +static void +folder_context_menu_remove_cb (BonoboUIComponent *uih, + void *data, + const char *path) +{ + EStorageSetView *storage_set_view; + EStorageSetViewPrivate *priv; + + storage_set_view = E_STORAGE_SET_VIEW (data); + priv = storage_set_view->priv; + + e_storage_set_async_remove_folder (priv->storage_set, priv->selected_row_path, + remove_cb, storage_set_view); +} + +static void populate_folder_context_menu_with_common_items (EStorageSetView *storage_set_view, BonoboUIComponent *uih) { static char popup_xml[] = "<submenu name=\"Folder\" _label=\"Folder\">\n" " <menuitem name=\"Activate\" verb=\"ActivateView\" _label=\"_View\" _tip=\"View the selected folder\"/>\n" + " <menuitem name=\"Remove\" verb=\"RemoveFolder\" _label=\"_Remove\" _tip=\"Remove the selected folder\"/>\n" " <placeholder name=\"componentPlaceholder\" delimit=\"top\"/>\n" #ifdef DEBUG_XML " <separator/>\n" @@ -664,6 +686,10 @@ populate_folder_context_menu_with_common_items (EStorageSetView *storage_set_vie folder_context_menu_activate_cb, storage_set_view); + bonobo_ui_component_add_verb (uih, "RemoveFolder", + folder_context_menu_remove_cb, + storage_set_view); + bonobo_ui_component_set_translate (uih, "/popups/folderPopup", popup_xml, NULL); } diff --git a/shell/evolution-shell-component-client.c b/shell/evolution-shell-component-client.c index 8a9f0ea67c..f8e00de066 100644 --- a/shell/evolution-shell-component-client.c +++ b/shell/evolution-shell-component-client.c @@ -707,11 +707,11 @@ evolution_shell_component_client_async_xfer_folder (EvolutionShellComponentClien void evolution_shell_component_client_populate_folder_context_menu (EvolutionShellComponentClient *shell_component_client, - BonoboUIComponent *uih, + BonoboUIContainer *container, const char *physical_uri, const char *type) { - Bonobo_UIContainer corba_uih; + Bonobo_UIContainer corba_container; EvolutionShellComponentClientPrivate *priv; GNOME_Evolution_ShellComponent corba_shell_component; CORBA_Environment ev; @@ -726,13 +726,13 @@ evolution_shell_component_client_populate_folder_context_menu (EvolutionShellCom CORBA_exception_init (&ev); corba_shell_component = bonobo_object_corba_objref (BONOBO_OBJECT (shell_component_client)); - corba_uih = bonobo_object_corba_objref (BONOBO_OBJECT (uih)); + corba_container = bonobo_object_corba_objref (BONOBO_OBJECT (container)); GNOME_Evolution_ShellComponent_populateFolderContextMenu (corba_shell_component, - corba_uih, - physical_uri, - type, - &ev); + corba_container, + physical_uri, + type, + &ev); CORBA_exception_free (&ev); } diff --git a/shell/evolution-shell-component-client.h b/shell/evolution-shell-component-client.h index e781a0c74c..9fd52f7eca 100644 --- a/shell/evolution-shell-component-client.h +++ b/shell/evolution-shell-component-client.h @@ -25,6 +25,8 @@ #define EVOLUTION_SHELL_COMPONENT_CLIENT_H #include <bonobo/bonobo-object-client.h> +#include <bonobo/bonobo-ui-container.h> +#include <bonobo/bonobo-ui-component.h> #include "evolution-shell-component.h" @@ -107,7 +109,7 @@ void evolution_shell_component_client_async_xfer_folder (EvolutionShellCompo void *data); void evolution_shell_component_client_populate_folder_context_menu (EvolutionShellComponentClient *shell_component_client, - BonoboUIComponent *uih, + BonoboUIContainer *container, const char *physical_uri, const char *type); |