]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-irc-network-chooser-dialog.c
Merge branch 'sasl'
[empathy.git] / libempathy-gtk / empathy-irc-network-chooser-dialog.c
index a42c21f1931551897d53d2a95595d538207349e7..f81ba80bbdee503355d7502265c41f12194e6f89 100644 (file)
@@ -61,6 +61,7 @@ typedef struct {
     GtkWidget *select_button;
 
     gulong search_sig;
+    gulong activate_sig;
 } EmpathyIrcNetworkChooserDialogPriv;
 
 enum {
@@ -419,6 +420,13 @@ filter_visible_func (GtkTreeModel *model,
   return visible;
 }
 
+static void
+search_activate_cb (GtkWidget *search,
+  EmpathyIrcNetworkChooserDialog *self)
+{
+  gtk_widget_hide (search);
+  gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_CLOSE);
+}
 
 static void
 search_text_notify_cb (EmpathyLiveSearch *search,
@@ -468,6 +476,7 @@ dialog_destroy_cb (GtkWidget *widget,
   EmpathyIrcNetworkChooserDialogPriv *priv = GET_PRIV (self);
 
   g_signal_handler_disconnect (priv->search, priv->search_sig);
+  g_signal_handler_disconnect (priv->search, priv->activate_sig);
 }
 
 static void
@@ -532,6 +541,9 @@ empathy_irc_network_chooser_dialog_constructed (GObject *object)
   priv->search_sig = g_signal_connect (priv->search, "notify::text",
       G_CALLBACK (search_text_notify_cb), self);
 
+  priv->activate_sig = g_signal_connect (priv->search, "activate",
+      G_CALLBACK (search_activate_cb), self);
+
   /* Add buttons */
   gtk_dialog_add_buttons (dialog,
       GTK_STOCK_ADD, GTK_RESPONSE_OK,
@@ -539,7 +551,8 @@ empathy_irc_network_chooser_dialog_constructed (GObject *object)
       GTK_STOCK_REMOVE, GTK_RESPONSE_REJECT,
       NULL);
 
-  priv->select_button = gtk_dialog_add_button (dialog, _("Select"),
+  priv->select_button = gtk_dialog_add_button (dialog,
+      C_("verb displayed on a button to select an IRC network", "Select"),
       GTK_RESPONSE_CLOSE);
 
   fill_store (self);