diff options
author | Marek Kasik <mkasik@redhat.com> | 2018-05-10 14:13:38 +0200 |
---|---|---|
committer | Felipe Borges <felipe10borges@gmail.com> | 2018-05-10 16:47:10 +0000 |
commit | f3257ce82a1f7db6eac649fa5d26d487ea946a85 (patch) | |
tree | 29e0fc2ff7fc5e731240c01810818fe47ea10eb9 | |
parent | 1d26f63b18f54e2d354d64ec8b312c70b35a2808 (diff) | |
download | gnome-control-center-add-printers-dialog-entry-grab-focus.tar.gz |
printers: Focus search entry in new printer dialogadd-printers-dialog-entry-grab-focus
Focus search entry in the new printer dialog once user starts to type
so he does not need to click on it.
Closes #41
-rw-r--r-- | panels/printers/new-printer-dialog.ui | 1 | ||||
-rw-r--r-- | panels/printers/pp-new-printer-dialog.c | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/panels/printers/new-printer-dialog.ui b/panels/printers/new-printer-dialog.ui index 0e9a8110a..437220542 100644 --- a/panels/printers/new-printer-dialog.ui +++ b/panels/printers/new-printer-dialog.ui @@ -153,6 +153,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="transition-type">none</property> + <property name="has_focus">True</property> <style> <class name="view"/> </style> 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); |