| 1129 return TRUE; |
1129 return TRUE; |
| 1130 } |
1130 } |
| 1131 |
1131 |
| 1132 static gboolean imhtml_remove_focus(GtkWidget *w, GdkEventKey *event, PidginStatusBox *status_box) |
1132 static gboolean imhtml_remove_focus(GtkWidget *w, GdkEventKey *event, PidginStatusBox *status_box) |
| 1133 { |
1133 { |
| 1134 if (event->keyval == GDK_Tab || event->keyval == GDK_KP_Tab) |
1134 if (event->keyval == GDK_Tab || event->keyval == GDK_KP_Tab || event->keyval == GDK_ISO_Left_Tab) |
| 1135 { |
1135 { |
| 1136 /* If last inserted character is a tab, then remove the focus from here */ |
1136 /* If last inserted character is a tab, then remove the focus from here */ |
| 1137 GtkWidget *top = gtk_widget_get_toplevel(w); |
1137 GtkWidget *top = gtk_widget_get_toplevel(w); |
| 1138 g_signal_emit_by_name(G_OBJECT(top), "move_focus", |
1138 g_signal_emit_by_name(G_OBJECT(top), "move_focus", |
| 1139 (event->state & GDK_SHIFT_MASK) ? |
1139 (event->state & GDK_SHIFT_MASK) ? |