diff options
-rw-r--r-- | shell/ChangeLog | 7 | ||||
-rw-r--r-- | shell/evolution-storage.c | 31 | ||||
-rw-r--r-- | shell/evolution-storage.h | 6 |
3 files changed, 40 insertions, 4 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index bd43f67c14..0e668bb2ac 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,5 +1,12 @@ 2001-10-26 Ettore Perazzoli <ettore@ximian.com> + * evolution-storage.c (impl_Storage_async_xfer_folder): Implement. + (class_init): Add the signal "xfer_folder" signal. + + * evolution-storage.h: New signal "xfer_folder". + +2001-10-26 Ettore Perazzoli <ettore@ximian.com> + * e-corba-storage.c (async_xfer_folder): New, implementation for the ::async_xfer_folder method. diff --git a/shell/evolution-storage.c b/shell/evolution-storage.c index a2159b5d0e..1948bbf790 100644 --- a/shell/evolution-storage.c +++ b/shell/evolution-storage.c @@ -69,6 +69,7 @@ enum { CREATE_FOLDER, REMOVE_FOLDER, UPDATE_FOLDER, + XFER_FOLDER, LAST_SIGNAL }; @@ -294,7 +295,6 @@ impl_Storage_async_remove_folder (PortableServer_Servant servant, { BonoboObject *bonobo_object; EvolutionStorage *storage; - CORBA_Object obj_dup; bonobo_object = bonobo_object_from_servant (servant); @@ -313,7 +313,16 @@ impl_Storage_async_xfer_folder (PortableServer_Servant servant, const Bonobo_Listener listener, CORBA_Environment *ev) { - g_print ("FIXME: impl_Storage_async_xfer_folder -- implement me!\n"); + BonoboObject *bonobo_object; + EvolutionStorage *storage; + CORBA_Object obj_dup; + + bonobo_object = bonobo_object_from_servant (servant); + storage = EVOLUTION_STORAGE (bonobo_object); + + obj_dup = CORBA_Object_duplicate (listener, ev); + gtk_signal_emit (GTK_OBJECT (storage), signals[REMOVE_FOLDER], + obj_dup, source_path, destination_path, remove_source); } static void @@ -521,7 +530,8 @@ class_init (EvolutionStorageClass *klass) GTK_SIGNAL_OFFSET (EvolutionStorageClass, create_folder), e_marshal_NONE__POINTER_POINTER_POINTER_POINTER_POINTER, - GTK_TYPE_INT, 4, + GTK_TYPE_INT, 5, + GTK_TYPE_POINTER, GTK_TYPE_STRING, GTK_TYPE_STRING, GTK_TYPE_STRING, @@ -533,9 +543,22 @@ class_init (EvolutionStorageClass *klass) GTK_SIGNAL_OFFSET (EvolutionStorageClass, remove_folder), e_marshal_NONE__POINTER_POINTER_POINTER, - GTK_TYPE_INT, 2, + GTK_TYPE_INT, 3, + GTK_TYPE_POINTER, GTK_TYPE_STRING, GTK_TYPE_STRING); + + signals[XFER_FOLDER] = gtk_signal_new ("xfer_folder", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (EvolutionStorageClass, + xfer_folder), + e_marshal_NONE__POINTER_POINTER_POINTER_BOOL, + GTK_TYPE_INT, 4, + GTK_TYPE_POINTER, + GTK_TYPE_STRING, + GTK_TYPE_STRING, + GTK_TYPE_BOOL); signals[UPDATE_FOLDER] = gtk_signal_new ("update_folder", GTK_RUN_FIRST, diff --git a/shell/evolution-storage.h b/shell/evolution-storage.h index 73759612ee..41a46baf89 100644 --- a/shell/evolution-storage.h +++ b/shell/evolution-storage.h @@ -94,6 +94,12 @@ struct _EvolutionStorageClass { const char *path, const char *physical_uri); + void (*xfer_folder) (EvolutionStorage *storage, + const Bonobo_Listener listener, + const char *source_path, + const char *destination_path, + gboolean remove_source); + void (*update_folder) (EvolutionStorage *storage, const char *path, int unread_count); |