shell: Add shortcuts to focus search entry

Ctrl+S and Ctrl+F are used in overview mode to focus the search entry.

https://bugzilla.gnome.org/show_bug.cgi?id=409230
This commit is contained in:
Bastien Nocera 2011-02-01 13:41:01 +00:00
parent 04f84937a6
commit b009d6875b

View file

@ -946,6 +946,35 @@ viewport_style_set_cb (GtkWidget *widget,
g_signal_handlers_unblock_by_func (widget, viewport_style_set_cb, NULL);
}
static gboolean
window_key_press_event (GtkWidget *win,
GdkEventKey *event,
GnomeControlCenter *self)
{
gboolean retval;
retval = FALSE;
if (!gtk_widget_get_visible (self->priv->search_entry))
return retval;
if (event->state != 0 &&
(event->state & GDK_CONTROL_MASK))
{
switch (event->keyval)
{
case GDK_KEY_s:
case GDK_KEY_S:
case GDK_KEY_f:
case GDK_KEY_F:
gtk_widget_grab_focus (self->priv->search_entry);
retval = TRUE;
break;
}
}
return retval;
}
static void
gnome_control_center_init (GnomeControlCenter *self)
{
@ -969,6 +998,8 @@ gnome_control_center_init (GnomeControlCenter *self)
/* connect various signals */
priv->window = W (priv->builder, "main-window");
g_signal_connect_swapped (priv->window, "delete-event", G_CALLBACK (g_object_unref), self);
g_signal_connect (priv->window, "key_press_event",
G_CALLBACK (window_key_press_event), self);
priv->notebook = W (priv->builder, "notebook");
priv->scrolled_window = W (priv->builder, "scrolledwindow1");