summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkbufferview.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-06-14 22:55:24 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-06-14 22:55:24 (GMT)
commitc987ca944052019957d3f31d69c679ed5ad994f2 (patch)
tree44f9c7a7f94925814ebebce50388935c83b34e88 /src/gtkext/gtkbufferview.c
parentc1b22ec0aa497a212ef897f3f8fffedf07cd45a6 (diff)
Been able to move the caret when scrolling to a given address.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@541 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/gtkbufferview.c')
-rw-r--r--src/gtkext/gtkbufferview.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gtkext/gtkbufferview.c b/src/gtkext/gtkbufferview.c
index 7f62963..2884383 100644
--- a/src/gtkext/gtkbufferview.c
+++ b/src/gtkext/gtkbufferview.c
@@ -147,6 +147,7 @@ static void gtk_buffer_view_class_init(GtkBufferViewClass *class)
panel_class->adjust = (adjust_scroll_value_fc)gtk_buffer_view_adjust_scroll_value;
panel_class->get_coordinates = (get_addr_coordinates_fc)gtk_buffer_view_get_address_coordinates;
panel_class->get_position = (get_view_position_fc)gtk_buffer_view_get_position;
+ panel_class->move_caret_to = (move_caret_to_fc)_gtk_buffer_view_move_caret_to;
panel_class->cache_glance = (cache_glance_fc)gtk_buffer_view_cache_glance;
g_signal_new("caret-moved",
@@ -478,7 +479,7 @@ static gboolean gtk_buffer_view_key_press(GtkWidget *widget, GdkEventKey *event)
if (addr != NULL)
{
gtk_buffer_view_relocate_caret(view, &area, addr);
- gtk_view_panel_scroll_to_address(pview, addr, SPT_RAW);
+ _gtk_view_panel_scroll_to_address(pview, addr, SPT_RAW, false);
}
else
g_signal_emit_by_name(view, "reach-limit", dir);
@@ -754,6 +755,8 @@ static bool gtk_buffer_view_get_address_coordinates(const GtkBufferView *view, c
if (result)
{
+ *x += g_buffer_view_get_margin(view->buffer_view, GTK_VIEW_PANEL(view)->display);
+
height = gtk_widget_get_allocated_height(GTK_WIDGET(view));
switch (tweak)