[empathy] live-search: fix keyboard navigation using Home/End (#632787)
- From: Xavier Claessens <xclaesse src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] live-search: fix keyboard navigation using Home/End (#632787)
- Date: Fri, 20 May 2011 13:59:41 +0000 (UTC)
commit c105d23a6dc033e281304a0032095f13e7fef63f
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Fri May 20 15:32:33 2011 +0200
live-search: fix keyboard navigation using Home/End (#632787)
libempathy-gtk/empathy-live-search.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/libempathy-gtk/empathy-live-search.c b/libempathy-gtk/empathy-live-search.c
index 7296eb7..21aefed 100644
--- a/libempathy-gtk/empathy-live-search.c
+++ b/libempathy-gtk/empathy-live-search.c
@@ -276,6 +276,16 @@ live_search_entry_key_pressed_cb (GtkEntry *entry,
return fire_key_navigation_sig (self, event);
}
+ if (event->keyval == GDK_KEY_Home || event->keyval == GDK_KEY_End)
+ {
+ /* If the live search is visible, the entry should catch the Home/End
+ * events */
+ if (!gtk_widget_get_visible (GTK_WIDGET (self)))
+ {
+ return fire_key_navigation_sig (self, event);
+ }
+ }
+
return FALSE;
}
@@ -342,6 +352,14 @@ live_search_key_press_event_cb (GtkWidget *widget,
if (event->keyval == GDK_KEY_Up || event->keyval == GDK_KEY_Down)
return FALSE;
+ if (event->keyval == GDK_KEY_Home || event->keyval == GDK_KEY_End)
+ {
+ /* Home/End keys have to be forwarded to the entry only if the live
+ * search is visible (to move the cursor inside the entry). */
+ if (!gtk_widget_get_visible (GTK_WIDGET (self)))
+ return FALSE;
+ }
+
/* realize the widget if it is not realized yet */
gtk_widget_realize (priv->search_entry);
if (!gtk_widget_has_focus (priv->search_entry))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]