From 338e194636b91413e765c8ac26079a972ed5cf56 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Wed, 13 Jun 2012 23:12:53 +0100 Subject: issue 182 - ctrl+k to focus on search entry like firefox --- src/trg-main-window.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/trg-main-window.c') diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 1369b44..650e278 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -2555,6 +2555,18 @@ static void on_dropped_file(GtkWidget * widget, GdkDragContext * context, } } +static gboolean window_key_press_handler(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + TrgMainWindow *win = TRG_MAIN_WINDOW(widget); + + if ((event->key.state & GDK_CONTROL_MASK) && event->key.keyval == GDK_KEY_k) { + gtk_widget_grab_focus(win->priv->filterEntry); + return TRUE; + } + + return FALSE; +} + static GObject *trg_main_window_constructor(GType type, guint n_construct_properties, GObjectConstructParam * @@ -2599,6 +2611,7 @@ static GObject *trg_main_window_constructor(GType type, G_CALLBACK(window_state_event), NULL); g_signal_connect(G_OBJECT(self), "configure-event", G_CALLBACK(trg_main_window_config_event), NULL); + g_signal_connect (G_OBJECT(self), "key-press-event", G_CALLBACK (window_key_press_handler), NULL); priv->torrentModel = trg_torrent_model_new(); trg_client_set_torrent_table(priv->client, -- cgit v1.2.3