aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-storage-set-view.c
diff options
context:
space:
mode:
authorChris Toshok <toshok@helixcode.com>2000-10-03 10:53:08 +0800
committerChris Toshok <toshok@src.gnome.org>2000-10-03 10:53:08 +0800
commitcc6dbb8f3cf2f9d64e0f0577a08177630e72219b (patch)
tree83e6c04ea986f69de94f268c793601773db4d54a /shell/evolution-storage-set-view.c
parent78320752289da1ace70bf6bfe3edef1671a3be61 (diff)
downloadgsoc2013-evolution-cc6dbb8f3cf2f9d64e0f0577a08177630e72219b.tar
gsoc2013-evolution-cc6dbb8f3cf2f9d64e0f0577a08177630e72219b.tar.gz
gsoc2013-evolution-cc6dbb8f3cf2f9d64e0f0577a08177630e72219b.tar.bz2
gsoc2013-evolution-cc6dbb8f3cf2f9d64e0f0577a08177630e72219b.tar.lz
gsoc2013-evolution-cc6dbb8f3cf2f9d64e0f0577a08177630e72219b.tar.xz
gsoc2013-evolution-cc6dbb8f3cf2f9d64e0f0577a08177630e72219b.tar.zst
gsoc2013-evolution-cc6dbb8f3cf2f9d64e0f0577a08177630e72219b.zip
add storage_selected behavior - loop over the listeners calling
2000-10-02 Chris Toshok <toshok@helixcode.com> * evolution-storage-set-view.c: add storage_selected behavior - loop over the listeners calling _storage_selected. * Evolution-StorageSetView.idl: add storage_selected to the Listener interface. * e-storage-set-view.c add storage_selected signal. (on_cursor_change): if the depth is less than 2, emit "storage_selected", otherwise emit "folder_selected". * e-storage-set-view.h: add storage_selected signal. * evolution-storage-set-view-listener.h: add storage_selected signal. * evolution-storage-set-view-listener.c: add storage_selected signal. svn path=/trunk/; revision=5686
Diffstat (limited to 'shell/evolution-storage-set-view.c')
-rw-r--r--shell/evolution-storage-set-view.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/shell/evolution-storage-set-view.c b/shell/evolution-storage-set-view.c
index 2e320c9ee5..70892c686d 100644
--- a/shell/evolution-storage-set-view.c
+++ b/shell/evolution-storage-set-view.c
@@ -67,6 +67,33 @@ storage_set_view_widget_folder_selected_cb (EStorageSetView *storage_set_view_wi
}
}
+static void
+storage_set_view_widget_storage_selected_cb (EStorageSetView *storage_set_view_widget,
+ const char *uri,
+ void *data)
+{
+ EvolutionStorageSetView *storage_set_view;
+ EvolutionStorageSetViewPrivate *priv;
+ GList *p;
+
+ storage_set_view = EVOLUTION_STORAGE_SET_VIEW (data);
+ priv = storage_set_view->priv;
+
+ for (p = priv->listeners; p != NULL; p = p->next) {
+ CORBA_Environment ev;
+ Evolution_StorageSetViewListener listener;
+
+ CORBA_exception_init (&ev);
+
+ listener = (Evolution_StorageSetViewListener) p->data;
+ Evolution_StorageSetViewListener_storage_selected (listener, uri, &ev);
+
+ /* FIXME: What if we fail? */
+
+ CORBA_exception_free (&ev);
+ }
+}
+
/* Listener handling. */
@@ -345,6 +372,8 @@ evolution_storage_set_view_construct (EvolutionStorageSetView *storage_set_view,
gtk_signal_connect (GTK_OBJECT (priv->storage_set_view_widget), "folder_selected",
GTK_SIGNAL_FUNC (storage_set_view_widget_folder_selected_cb), storage_set_view);
+ gtk_signal_connect (GTK_OBJECT (priv->storage_set_view_widget), "storage_selected",
+ GTK_SIGNAL_FUNC (storage_set_view_widget_storage_selected_cb), storage_set_view);
}
EvolutionStorageSetView *