From 061d4ab96a0ebde9665192c3712ca3928ff2c679 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Mon, 17 Oct 2011 14:10:01 +0200 Subject: contact-chooser: add 'activate' signal https://bugzilla.gnome.org/show_bug.cgi?id=661993 --- libempathy-gtk/empathy-contact-chooser.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'libempathy-gtk') diff --git a/libempathy-gtk/empathy-contact-chooser.c b/libempathy-gtk/empathy-contact-chooser.c index c266e3feb..1e61667fa 100644 --- a/libempathy-gtk/empathy-contact-chooser.c +++ b/libempathy-gtk/empathy-contact-chooser.c @@ -22,6 +22,7 @@ G_DEFINE_TYPE (EmpathyContactChooser, enum { SIG_SELECTION_CHANGED, + SIG_ACTIVATE, LAST_SIGNAL }; @@ -122,6 +123,15 @@ empathy_contact_chooser_class_init ( g_cclosure_marshal_generic, G_TYPE_NONE, 1, FOLKS_TYPE_INDIVIDUAL); + + signals[SIG_ACTIVATE] = g_signal_new ("activate", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_generic, + G_TYPE_NONE, + 0); } static void @@ -283,6 +293,13 @@ search_text_changed (GtkEntry *entry, empathy_individual_view_refilter (self->priv->view); } +static void +search_activate_cb (GtkEntry *entry, + EmpathyContactChooser *self) +{ + g_signal_emit (self, signals[SIG_ACTIVATE], 0); +} + static void empathy_contact_chooser_init (EmpathyContactChooser *self) { @@ -309,6 +326,8 @@ empathy_contact_chooser_init (EmpathyContactChooser *self) g_signal_connect (self->priv->search_entry, "changed", G_CALLBACK (search_text_changed), self); + g_signal_connect (self->priv->search_entry, "activate", + G_CALLBACK (search_activate_cb), self); /* Add the treeview */ mgr = empathy_individual_manager_dup_singleton (); -- cgit v1.2.3