]> git.0d.be Git - empathy.git/commitdiff
allow to choose irc network with ENTER
authorFelix Kaser <f.kaser@gmx.net>
Thu, 26 Aug 2010 14:04:47 +0000 (16:04 +0200)
committerFelix Kaser <f.kaser@gmx.net>
Thu, 26 Aug 2010 14:04:47 +0000 (16:04 +0200)
while searching, the enter key allows you to select an irc network

libempathy-gtk/empathy-irc-network-chooser-dialog.c

index a42c21f1931551897d53d2a95595d538207349e7..afe259364e40e5f4a6ed1cb4e677eb3015cbecc9 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,