GitLab repository storage has been migrated to hashed layout. Please contact Infrastructure team if you notice any issues with repositories or hooks.

Commit 13a24b1b authored by Havoc Pennington's avatar Havoc Pennington Committed by Havoc Pennington

scroll to cursor on grab focus, unless it's caused by button click, #59708

2001-10-23  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
	on grab focus, unless it's caused by button click, #59708
parent 4e32ede2
2001-10-23 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
on grab focus, unless it's caused by button click, #59708
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
......
2001-10-23 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
on grab focus, unless it's caused by button click, #59708
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
......
2001-10-23 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
on grab focus, unless it's caused by button click, #59708
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
......
2001-10-23 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
on grab focus, unless it's caused by button click, #59708
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
......
2001-10-23 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
on grab focus, unless it's caused by button click, #59708
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
......
2001-10-23 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
on grab focus, unless it's caused by button click, #59708
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
......
2001-10-23 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_grab_focus): scroll to cursor
on grab focus, unless it's caused by button click, #59708
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
......
......@@ -172,6 +172,7 @@ static gint gtk_text_view_motion_event (GtkWidget *widget,
static gint gtk_text_view_expose_event (GtkWidget *widget,
GdkEventExpose *expose);
static void gtk_text_view_draw_focus (GtkWidget *widget);
static void gtk_text_view_grab_focus (GtkWidget *widget);
/* Source side drag signals */
static void gtk_text_view_drag_begin (GtkWidget *widget,
......@@ -3272,7 +3273,9 @@ gtk_text_view_button_press_event (GtkWidget *widget, GdkEventButton *event)
text_view = GTK_TEXT_VIEW (widget);
text_view->disable_scroll_on_focus = TRUE;
gtk_widget_grab_focus (widget);
text_view->disable_scroll_on_focus = FALSE;
if (event->window != text_view->text_window->bin_window)
{
......@@ -3647,6 +3650,21 @@ gtk_text_view_draw_focus (GtkWidget *widget)
}
}
static void
gtk_text_view_grab_focus (GtkWidget *widget)
{
GtkTextView *text_view;
text_view = GTK_TEXT_VIEW (widget);
GTK_WIDGET_CLASS (parent_class)->grab_focus (widget);
if (!text_view->disable_scroll_on_focus)
gtk_text_view_scroll_mark_onscreen (text_view,
gtk_text_buffer_get_mark (get_buffer (text_view),
"insert"));
}
/*
* Container
*/
......
......@@ -93,6 +93,9 @@ struct _GtkTextView
/* just selected a word or line via double/triple click */
guint just_selected_element : 1;
/* disable scrolling to cursor on focus */
guint disable_scroll_on_focus : 1;
/* debug flag - means that we've validated onscreen since the
* last "invalidate" signal from the layout
*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment