# HG changeset patch # User Sadrul Habib Chowdhury # Date 1210216828 0 # Node ID f28047b68678929194205c8a702c05a1c6e91a58 # Parent 485689a88b61e3459bef4ec33145db81237ba07c Patch from QuLogic to fix tab-navigation in the statusbox. And a few missing GDK_ISO_Left_Tab. Closes #3843, #4386. diff -r 485689a88b61 -r f28047b68678 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Wed May 07 18:10:43 2008 +0000 +++ b/pidgin/gtkconv.c Thu May 08 03:20:28 2008 +0000 @@ -1901,6 +1901,7 @@ break; case GDK_Tab: + case GDK_KP_Tab: case GDK_ISO_Left_Tab: if (event->state & GDK_SHIFT_MASK) { move_to_next_unread_tab(gtkconv, FALSE); @@ -2082,6 +2083,8 @@ else { switch (event->keyval) { case GDK_Tab: + case GDK_KP_Tab: + case GDK_ISO_Left_Tab: if (gtkconv->entry != entry) break; return tab_complete(conv); @@ -2152,6 +2155,7 @@ (event->keyval == GDK_Home) || (event->keyval == GDK_End) || (event->keyval == GDK_Tab) || + (event->keyval == GDK_KP_Tab) || (event->keyval == GDK_ISO_Left_Tab)) { if (event->type == GDK_KEY_PRESS) diff -r 485689a88b61 -r f28047b68678 pidgin/gtkstatusbox.c --- a/pidgin/gtkstatusbox.c Wed May 07 18:10:43 2008 +0000 +++ b/pidgin/gtkstatusbox.c Thu May 08 03:20:28 2008 +0000 @@ -1131,7 +1131,7 @@ static gboolean imhtml_remove_focus(GtkWidget *w, GdkEventKey *event, PidginStatusBox *status_box) { - if (event->keyval == GDK_Tab || event->keyval == GDK_KP_Tab) + if (event->keyval == GDK_Tab || event->keyval == GDK_KP_Tab || event->keyval == GDK_ISO_Left_Tab) { /* If last inserted character is a tab, then remove the focus from here */ GtkWidget *top = gtk_widget_get_toplevel(w); @@ -1458,7 +1458,7 @@ } return TRUE; default: - return TRUE; + return FALSE; } }