aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog15
-rw-r--r--shell/e-storage-set-view.c26
-rw-r--r--shell/evolution-shell-component-client.c14
-rw-r--r--shell/evolution-shell-component-client.h4
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);