2005-12-07 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtktreeview.c (gtk_tree_view_key_press): Use the correct
+ window when synthesizing the key event. (#323077,
+ Sadrul Habib Chowdhury)
+
+ (gtk_tree_view_search_key_press_event): Also listen for
+ GDK_ISO_Left_Tab. (#323077, Sadrul Habib Chowdhury)
+
* gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
Only scroll if we have focus. (#316310, Paolo Borelli)
2005-12-07 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtktreeview.c (gtk_tree_view_key_press): Use the correct
+ window when synthesizing the key event. (#323077,
+ Sadrul Habib Chowdhury)
+
+ (gtk_tree_view_search_key_press_event): Also listen for
+ GDK_ISO_Left_Tab. (#323077, Sadrul Habib Chowdhury)
+
* gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
Only scroll if we have focus. (#316310, Paolo Borelli)
old_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (tree_view->priv->search_entry)));
new_event = gdk_event_copy ((GdkEvent *) event);
g_object_unref (((GdkEventKey *) new_event)->window);
- ((GdkEventKey *) new_event)->window = g_object_ref (tree_view->priv->search_entry->window);
+ ((GdkEventKey *) new_event)->window = g_object_ref (tree_view->priv->search_window->window);
gtk_widget_realize (tree_view->priv->search_window);
popup_menu_id = g_signal_connect (tree_view->priv->search_entry,
/* Send the event to the window. If the preedit_changed signal is emitted
* during this event, we will set priv->imcontext_changed */
tree_view->priv->imcontext_changed = FALSE;
- retval = gtk_widget_event (tree_view->priv->search_entry, new_event);
+ retval = gtk_widget_event (tree_view->priv->search_window, new_event);
gdk_event_free (new_event);
gtk_widget_hide (tree_view->priv->search_window);
/* close window and cancel the search */
if (event->keyval == GDK_Escape ||
- event->keyval == GDK_Tab)
+ event->keyval == GDK_Tab ||
+ event->keyval == GDK_KP_Tab ||
+ event->keyval == GDK_ISO_Left_Tab)
{
gtk_tree_view_search_dialog_hide (widget, tree_view);
return TRUE;