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
This commit is contained in:
parent
4e32ede287
commit
13a24b1b36
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
|
* 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,
|
static gint gtk_text_view_expose_event (GtkWidget *widget,
|
||||||
GdkEventExpose *expose);
|
GdkEventExpose *expose);
|
||||||
static void gtk_text_view_draw_focus (GtkWidget *widget);
|
static void gtk_text_view_draw_focus (GtkWidget *widget);
|
||||||
|
static void gtk_text_view_grab_focus (GtkWidget *widget);
|
||||||
|
|
||||||
/* Source side drag signals */
|
/* Source side drag signals */
|
||||||
static void gtk_text_view_drag_begin (GtkWidget *widget,
|
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 = GTK_TEXT_VIEW (widget);
|
||||||
|
|
||||||
|
text_view->disable_scroll_on_focus = TRUE;
|
||||||
gtk_widget_grab_focus (widget);
|
gtk_widget_grab_focus (widget);
|
||||||
|
text_view->disable_scroll_on_focus = FALSE;
|
||||||
|
|
||||||
if (event->window != text_view->text_window->bin_window)
|
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
|
* Container
|
||||||
*/
|
*/
|
||||||
|
@ -92,6 +92,9 @@ struct _GtkTextView
|
|||||||
guint need_im_reset : 1; /* If we have reset the IM since the last character entered */
|
guint need_im_reset : 1; /* If we have reset the IM since the last character entered */
|
||||||
/* just selected a word or line via double/triple click */
|
/* just selected a word or line via double/triple click */
|
||||||
guint just_selected_element : 1;
|
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
|
/* debug flag - means that we've validated onscreen since the
|
||||||
* last "invalidate" signal from the layout
|
* last "invalidate" signal from the layout
|
||||||
|
Loading…
Reference in New Issue
Block a user