Move focus to children, if they exist, after GtkTextView is focused.

* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
This commit is contained in:
Padraig O'Briain
2002-08-14 08:05:30 +00:00
parent 4ce6b465c8
commit e874a29c8a
7 changed files with 50 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2002-08-14 Padraig O'Briain <padraig.obriain@sun.com>
* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
2002-08-12 Matthias Clasen <maclas@gmx.de>
* gdk/gdkdisplaymanager.c:

View File

@ -1,3 +1,8 @@
2002-08-14 Padraig O'Briain <padraig.obriain@sun.com>
* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
2002-08-12 Matthias Clasen <maclas@gmx.de>
* gdk/gdkdisplaymanager.c:

View File

@ -1,3 +1,8 @@
2002-08-14 Padraig O'Briain <padraig.obriain@sun.com>
* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
2002-08-12 Matthias Clasen <maclas@gmx.de>
* gdk/gdkdisplaymanager.c:

View File

@ -1,3 +1,8 @@
2002-08-14 Padraig O'Briain <padraig.obriain@sun.com>
* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
2002-08-12 Matthias Clasen <maclas@gmx.de>
* gdk/gdkdisplaymanager.c:

View File

@ -1,3 +1,8 @@
2002-08-14 Padraig O'Briain <padraig.obriain@sun.com>
* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
2002-08-12 Matthias Clasen <maclas@gmx.de>
* gdk/gdkdisplaymanager.c:

View File

@ -1,3 +1,8 @@
2002-08-14 Padraig O'Briain <padraig.obriain@sun.com>
* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
2002-08-12 Matthias Clasen <maclas@gmx.de>
* gdk/gdkdisplaymanager.c:

View File

@ -4196,11 +4196,29 @@ gtk_text_view_focus (GtkWidget *widget,
{
GtkTextView *text_view;
GtkContainer *container;
gboolean result;
text_view = GTK_TEXT_VIEW (widget);
container = GTK_CONTAINER (widget);
return GTK_WIDGET_CLASS (parent_class)->focus (widget, direction);
if (!gtk_widget_is_focus (widget) &&
container->focus_child == NULL)
{
gtk_widget_grab_focus (widget);
return TRUE;
}
else
{
/*
* Unset CAN_FOCUS flag so that gtk_container_focus() allows
* children to get the focus
*/
GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_FOCUS);
result = GTK_WIDGET_CLASS (parent_class)->focus (widget, direction);
GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
return result;
}
}
/*