]> www.fi.muni.cz Git - evince.git/commitdiff
[ui] Disables bouncing during scrolling
authorMartin Pohlack <mp26@os.inf.tu-dresden.de>
Wed, 6 May 2009 22:19:55 +0000 (02:19 +0400)
committerNickolay V. Shmyrev <nshmyrev@yandex.ru>
Wed, 6 May 2009 22:19:55 +0000 (02:19 +0400)
It appeared to be annoying. Fixes GNOME bug #533534

libview/ev-view.c

index 8e7fc4a3647affc29d5a4ece96a23c84a5d4c62d..8474516c4315a55b9d4328d83422fd6c53091f80 100644 (file)
@@ -2857,12 +2857,14 @@ ev_view_scroll_drag_release (EvView *view)
        oldhadjustment = gtk_adjustment_get_value (view->hadjustment);
        oldvadjustment = gtk_adjustment_get_value (view->vadjustment);
 
-       if (((oldhadjustment + dhadj_value) > (view->hadjustment->upper - view->hadjustment->page_size)) ||
+     /* When we reach the edges, we need either to absorb some momentum and bounce by
+      * multiplying it on -0.5 or stop scrolling by setting momentum to 0. */  
+     if (((oldhadjustment + dhadj_value) > (view->hadjustment->upper - view->hadjustment->page_size)) ||
           ((oldhadjustment + dhadj_value) < 0))
-               view->drag_info.momentum.x *= -0.5; /* 0.5 rather than 1 means the edges absorb some momentum */
+               view->drag_info.momentum.x = 0;
        if (((oldvadjustment + dvadj_value) > (view->vadjustment->upper - view->vadjustment->page_size)) ||
           ((oldvadjustment + dvadj_value) < 0))
-               view->drag_info.momentum.y *= -0.5;
+               view->drag_info.momentum.y = 0;
 
        gtk_adjustment_set_value (view->hadjustment,
                                MIN (oldhadjustment + dhadj_value,