Commit Graph

5 Commits

Author SHA1 Message Date
Carlos Garnacho
9d7f1caca7 textview: Avoid relocating adjustments on ::size-allocate while these are animating
An animation may be scheduled while the textview content changed in size, so the resize
queued would just unset the animation and set the adjusments with a current value,
defeating gtk_text_view_scroll_to_iter(). In this case, just avoid the adjustment change,
as there is a target value on the way.

https://bugzilla.gnome.org/show_bug.cgi?id=733406
2014-08-03 20:12:47 +02:00
Matthias Clasen
7086080b03 Add a getter for the adjustment animation duration 2014-07-13 22:00:30 -04:00
Carlos Garnacho
ee0982ffe3 adjustment: Add private gtk_adjustment_get_target_value() method
This call returns either the target value if there is an ongoing animation,
or the current value if there is no animation.
2014-07-08 21:14:40 -04:00
Matthias Clasen
36453a8a6b GktAdjustment: Add explicit api for animated setting
Making all set_value calls animated has side-effects, so
we need to be more selective.
2014-07-02 20:58:15 -04:00
Matthias Clasen
a090f58922 GtkAdjustment: Animated updates
Add a private API that lets widget opt-in to animated updates of
the adjustment value. When enabled, all calls to
gtk_adjustment_set_value will smoothly transition from the old
value to the new value, using a fixed easing function and a
configurable duration. The animation is tied to the frame clock
of the widget.

By implementing this in GtkAdjustment, we can enable animation
for both scrollbars and keybindings, which are often implemented
in the child widget of the scrolled window.

https://bugzilla.gnome.org/show_bug.cgi?id=732376
2014-06-30 18:09:50 -04:00