summaryrefslogtreecommitdiff
path: root/panels/printers/pp-new-printer-dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'panels/printers/pp-new-printer-dialog.c')
-rw-r--r--panels/printers/pp-new-printer-dialog.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c
index 7a15a455f..e7857fc01 100644
--- a/panels/printers/pp-new-printer-dialog.c
+++ b/panels/printers/pp-new-printer-dialog.c
@@ -506,6 +506,20 @@ authenticate_samba_server (GtkButton *button,
}
}
+static gboolean
+stack_key_press_cb (GtkWidget *widget,
+ GdkEvent *event,
+ gpointer user_data)
+{
+ PpNewPrinterDialog *dialog = (PpNewPrinterDialog *) user_data;
+ PpNewPrinterDialogPrivate *priv = dialog->priv;
+
+ gtk_widget_grab_focus (WID ("search-entry"));
+ gtk_main_do_event (event);
+
+ return TRUE;
+}
+
static void
pp_new_printer_dialog_init (PpNewPrinterDialog *dialog)
{
@@ -556,6 +570,8 @@ pp_new_printer_dialog_init (PpNewPrinterDialog *dialog)
widget = WID ("unlock-button");
g_signal_connect (widget, "clicked", G_CALLBACK (authenticate_samba_server), dialog);
+ g_signal_connect (WID ("stack"), "key-press-event", G_CALLBACK (stack_key_press_cb), dialog);
+
/* Authentication form widgets */
g_signal_connect (WID ("username-entry"), "changed", G_CALLBACK (auth_entries_changed), dialog);
g_signal_connect (WID ("password-entry"), "changed", G_CALLBACK (auth_entries_changed), dialog);