diff options
Diffstat (limited to 'widgets/table')
-rw-r--r-- | widgets/table/ChangeLog | 5 | ||||
-rw-r--r-- | widgets/table/e-table-item.c | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog index 8efb26e2a1..250ef0a5ef 100644 --- a/widgets/table/ChangeLog +++ b/widgets/table/ChangeLog @@ -1,3 +1,8 @@ +2006-01-13 Srinivasa Ragavan <sragavan@novell.com> + + * e-table-item.c: (adjustment_changed), (eti_tree_unfreeze), + (eti_realize): Fixes the scroll issue with e-tree. + 2005-12-21 Chenthill Palanisamy <pchenthill@novell.com> committing for Akira TAGOH <tagoh@gnome-db.org> diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c index 9f6ba38709..a3201aa533 100644 --- a/widgets/table/e-table-item.c +++ b/widgets/table/e-table-item.c @@ -1664,10 +1664,20 @@ static const char gray50_bits[] = { static void adjustment_changed (GtkAdjustment *adjustment, ETableItem *eti) { + /* FIXME: It is the ugliest of hack to set the focus to scroll. Fix this up when moving away from e-tree */ + if (g_object_get_data ((GObject *) ((GnomeCanvasItem *) eti)->canvas, "freeze-cursor")) + eti_maybe_show_cursor (eti, 0); + eti_check_cursor_on_screen (eti); } static void +eti_tree_unfreeze (GtkWidget *widget, GdkEvent *event, ETableItem *eti) +{ + g_object_set_data (((GnomeCanvasItem *) eti)->canvas, "freeze-cursor", 0); +} + +static void eti_realize (GnomeCanvasItem *item) { ETableItem *eti = E_TABLE_ITEM (item); @@ -1710,6 +1720,8 @@ eti_realize (GnomeCanvasItem *item) g_signal_connect (gtk_layout_get_vadjustment(GTK_LAYOUT(item->canvas)), "value_changed", G_CALLBACK (adjustment_changed), eti); + g_signal_connect (GTK_LAYOUT(item->canvas), "scroll_event", G_CALLBACK (eti_tree_unfreeze), eti); + if (eti->cell_views == NULL) eti_attach_cell_views (eti); |