diff options
Diffstat (limited to 'panels/printers/pp-new-printer-dialog.c')
-rw-r--r-- | panels/printers/pp-new-printer-dialog.c | 16 |
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); |