diff options
author | Felix Kaser <f.kaser@gmx.net> | 2010-07-29 23:02:01 +0800 |
---|---|---|
committer | Felix Kaser <f.kaser@gmx.net> | 2010-07-29 23:02:01 +0800 |
commit | 9f98cdc5cb1e709fbe150bb98b94e49e165e6d12 (patch) | |
tree | f380d10ac4243806ec0ce7346843857912215f84 /libempathy-gtk | |
parent | df5cfb43b2c1bb9d0cd5f55b7397cfd327aedd34 (diff) | |
download | gsoc2013-empathy-9f98cdc5cb1e709fbe150bb98b94e49e165e6d12.tar gsoc2013-empathy-9f98cdc5cb1e709fbe150bb98b94e49e165e6d12.tar.gz gsoc2013-empathy-9f98cdc5cb1e709fbe150bb98b94e49e165e6d12.tar.bz2 gsoc2013-empathy-9f98cdc5cb1e709fbe150bb98b94e49e165e6d12.tar.lz gsoc2013-empathy-9f98cdc5cb1e709fbe150bb98b94e49e165e6d12.tar.xz gsoc2013-empathy-9f98cdc5cb1e709fbe150bb98b94e49e165e6d12.tar.zst gsoc2013-empathy-9f98cdc5cb1e709fbe150bb98b94e49e165e6d12.zip |
backport the last commit to contact-list-view
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-contact-list-view.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c index 11c9e78a2..e0c93e28e 100644 --- a/libempathy-gtk/empathy-contact-list-view.c +++ b/libempathy-gtk/empathy-contact-list-view.c @@ -1276,22 +1276,26 @@ contact_list_view_search_activate_cb (GtkWidget *search, } } -static void +static gboolean contact_list_view_search_key_navigation_cb (GtkWidget *search, - gpointer eventkey, + GdkEvent *event, EmpathyContactListView *view) { - GdkEventKey *event = ((GdkEventKey *) eventkey); - if (event->keyval == GDK_Up || event->keyval == GDK_Down) { + GdkEventKey *eventkey = ((GdkEventKey *) event); + gboolean ret = FALSE; + + if (eventkey->keyval == GDK_Up || eventkey->keyval == GDK_Down) { GdkEvent *new_event; - new_event = gdk_event_copy ((GdkEvent *) event); + new_event = gdk_event_copy (event); gtk_widget_grab_focus (GTK_WIDGET (view)); - gtk_widget_event (GTK_WIDGET (view), new_event); + ret = gtk_widget_event (GTK_WIDGET (view), new_event); gtk_widget_grab_focus (search); gdk_event_free (new_event); } + + return ret; } static void |