aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-storage-listener.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/evolution-storage-listener.c')
-rw-r--r--shell/evolution-storage-listener.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/shell/evolution-storage-listener.c b/shell/evolution-storage-listener.c
index 3e1085ab10..293dd972f5 100644
--- a/shell/evolution-storage-listener.c
+++ b/shell/evolution-storage-listener.c
@@ -45,6 +45,7 @@ struct _EvolutionStorageListenerPrivate {
enum {
DESTROYED,
NEW_FOLDER,
+ UPDATE_FOLDER,
REMOVED_FOLDER,
LAST_SIGNAL
};
@@ -93,6 +94,23 @@ impl_Evolution_StorageListener_new_folder (PortableServer_Servant servant,
}
static void
+impl_Evolution_StorageListener_update_folder (PortableServer_Servant servant,
+ const CORBA_char *path,
+ const CORBA_char *display_name,
+ CORBA_boolean highlighted,
+ CORBA_Environment *ev)
+{
+ EvolutionStorageListener *listener;
+ EvolutionStorageListenerPrivate *priv;
+
+ listener = gtk_object_from_servant (servant);
+ priv = listener->priv;
+
+ gtk_signal_emit (GTK_OBJECT (listener), signals[UPDATE_FOLDER], path,
+ display_name, highlighted);
+}
+
+static void
impl_Evolution_StorageListener_removed_folder (PortableServer_Servant servant,
const CORBA_char *path,
CORBA_Environment *ev)
@@ -207,6 +225,7 @@ corba_class_init (void)
epv = g_new0 (POA_Evolution_StorageListener__epv, 1);
epv->destroyed = impl_Evolution_StorageListener_destroyed;
epv->new_folder = impl_Evolution_StorageListener_new_folder;
+ epv->update_folder = impl_Evolution_StorageListener_update_folder;
epv->removed_folder = impl_Evolution_StorageListener_removed_folder;
vepv = & my_Evolution_StorageListener_vepv;
@@ -240,6 +259,16 @@ class_init (EvolutionStorageListenerClass *klass)
GTK_TYPE_STRING,
GTK_TYPE_POINTER);
+ signals[UPDATE_FOLDER] = gtk_signal_new ("new_folder",
+ GTK_RUN_FIRST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (EvolutionStorageListenerClass, update_folder),
+ e_marshal_NONE__POINTER_POINTER_INT,
+ GTK_TYPE_NONE, 3,
+ GTK_TYPE_STRING,
+ GTK_TYPE_STRING,
+ GTK_TYPE_BOOL);
+
signals[REMOVED_FOLDER] = gtk_signal_new ("removed_folder",
GTK_RUN_FIRST,
object_class->type,