From 1bccb5de6901b2775593af20333dffe3dda37220 Mon Sep 17 00:00:00 2001 From: Chris Toshok Date: Wed, 8 Aug 2001 00:10:11 +0000 Subject: [ Fixes bug #5066 ] new function, remove the source. (register_storage): 2001-08-07 Chris Toshok [ Fixes bug #5066 ] * gui/component/addressbook-storage.c (remove_ldap_folder): new function, remove the source. (register_storage): connect to the "remove_folder" signal so we know when to remove the folder. svn path=/trunk/; revision=11756 --- addressbook/ChangeLog | 8 ++++++++ addressbook/gui/component/addressbook-storage.c | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index d039ef132d..1c5f1a5a0e 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,11 @@ +2001-08-07 Chris Toshok + + [ Fixes bug #5066 ] + * gui/component/addressbook-storage.c (remove_ldap_folder): new + function, remove the source. + (register_storage): connect to the "remove_folder" signal so we + know when to remove the folder. + 2001-08-07 Chris Toshok * backend/pas/pas-backend-ldap.c (build_card_from_entry): use diff --git a/addressbook/gui/component/addressbook-storage.c b/addressbook/gui/component/addressbook-storage.c index 56b5f1af7d..6364b29b9b 100644 --- a/addressbook/gui/component/addressbook-storage.c +++ b/addressbook/gui/component/addressbook-storage.c @@ -56,6 +56,7 @@ #include #include +#include #include #include @@ -108,6 +109,16 @@ addressbook_storage_setup (EvolutionShellComponent *shell_component, deregister_storage (); } +static void +remove_ldap_folder (EvolutionStorage *storage, + const CORBA_char *path, const CORBA_char *physical_uri, + int *result, gpointer data) +{ + addressbook_storage_remove_source (path + 1); + addressbook_storage_write_sources(); + *result = GNOME_Evolution_Storage_OK; +} + static void register_storage (void) { @@ -116,6 +127,9 @@ register_storage (void) if (storage == NULL) { storage = evolution_storage_new (_("Other Contacts"), NULL, NULL); + gtk_signal_connect (GTK_OBJECT (storage), + "remove_folder", + GTK_SIGNAL_FUNC(remove_ldap_folder), NULL); result = evolution_storage_register_on_shell (storage, corba_shell); switch (result) { case EVOLUTION_STORAGE_OK: -- cgit v1.2.3