aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog11
-rw-r--r--shell/evolution-activity-client.c29
-rw-r--r--shell/evolution-test-component.c13
3 files changed, 41 insertions, 12 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 34181a71aa..13215a7b9d 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,16 @@
2001-06-24 Ettore Perazzoli <ettore@ximian.com>
+ * evolution-test-component.c (activity_client_clicked_callback):
+ New callback for the "clicked" signal on the EActivityClient.
+ Just spit out a warning now, for testing purposes.
+ (timeout_callback_1): Connect it.
+
+ * evolution-activity-client.c (listener_callback): Emit the
+ "clicked" signal if we get the "Clicked" event from the Bonobo
+ listener.
+
+2001-06-24 Ettore Perazzoli <ettore@ximian.com>
+
* e-shell-folder-commands.c: #include <gtk/gtklabel.h>.
(delete_dialog): Constify @folder_name properly.
(delete_cb): Change the first arg to be an EStorageSet as expected
diff --git a/shell/evolution-activity-client.c b/shell/evolution-activity-client.c
index 96aa4c22b8..9e95eedcac 100644
--- a/shell/evolution-activity-client.c
+++ b/shell/evolution-activity-client.c
@@ -51,7 +51,7 @@ enum {
LAST_SIGNAL
};
-static guint activity_client_signals[LAST_SIGNAL] = { 0 };
+static guint signals[LAST_SIGNAL] = { 0 };
struct _EvolutionActivityClientPrivate {
/* The ::Activity interface that we QI from the shell. */
@@ -203,10 +203,16 @@ listener_callback (BonoboListener *listener,
char *event_name,
CORBA_any *any,
CORBA_Environment *ev,
- gpointer data)
+ void *data)
{
- /* FIXME: Implement. */
- g_print ("EvolutionActivityClient: BonoboListener event -- %s\n", event_name);
+ EvolutionActivityClient *activity_client;
+
+ activity_client = EVOLUTION_ACTIVITY_CLIENT (data);
+
+ if (strcmp (event_name, "Clicked") == 0)
+ gtk_signal_emit (GTK_OBJECT (activity_client), signals[CLICKED]);
+ else
+ g_warning ("EvolutionActivityClient: Unknown event from listener -- %s", event_name);
}
@@ -258,15 +264,14 @@ class_init (EvolutionActivityClientClass *klass)
object_class = GTK_OBJECT_CLASS (klass);
object_class->destroy = impl_destroy;
- activity_client_signals[CLICKED] =
- gtk_signal_new ("clicked",
- GTK_RUN_FIRST,
- object_class->type,
- GTK_SIGNAL_OFFSET (EvolutionActivityClientClass, clicked),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
+ signals[CLICKED] = gtk_signal_new ("clicked",
+ GTK_RUN_FIRST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (EvolutionActivityClientClass, clicked),
+ gtk_marshal_NONE__NONE,
+ GTK_TYPE_NONE, 0);
- gtk_object_class_add_signals (object_class, activity_client_signals, LAST_SIGNAL);
+ gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
}
diff --git a/shell/evolution-test-component.c b/shell/evolution-test-component.c
index f9f199e606..aed0d9089d 100644
--- a/shell/evolution-test-component.c
+++ b/shell/evolution-test-component.c
@@ -52,6 +52,16 @@ static int timeout_id = 0;
static int progress = -1;
+/* Callbacks. */
+
+static void
+activity_client_clicked_callback (EvolutionActivityClient *client,
+ void *data)
+{
+ g_warning ("Task bar button clicked!");
+}
+
+
/* Timeout #3: We are done. */
static int
timeout_callback_3 (void *data)
@@ -109,6 +119,9 @@ timeout_callback_1 (void *data)
return FALSE;
}
+ gtk_signal_connect (GTK_OBJECT (activity_client), "clicked",
+ GTK_SIGNAL_FUNC (activity_client_clicked_callback), NULL);
+
g_print ("Component becoming busy -- %s\n", COMPONENT_ID);
if (suggest_display)
g_print (" --> Could display dialog box.\n");