-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115413/#review64113
-----------------------------------------------------------


I'm going to discard this, as I mentioned I don't think this smooth scrolling 
thing is something that should be implemented in Okular but on lower layers.

- Albert Astals Cid


On gen. 31, 2014, 2:07 p.m., Yichao Zhou wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/115413/
> -----------------------------------------------------------
> 
> (Updated gen. 31, 2014, 2:07 p.m.)
> 
> 
> Review request for Okular.
> 
> 
> Bugs: 319870
>     http://bugs.kde.org/show_bug.cgi?id=319870
> 
> 
> Repository: okular
> 
> 
> Description
> -------
> 
> This implements https://bugs.kde.org/show_bug.cgi?id=319870.
> 
> This patch is largely inspired by a firefox extension, called "SmoothWheel".
> 
> This patch only affects the behaviour of mouse wheel, not the scroll bar.  
> This is because in order to make the scroll bar have smooth scroll feature, 
> we need to totally rewrite QScrollBar and QScrollArea, which is a too big 
> task for me.
> 
> It provides following parameter to control the behavior the smooth scrolling:
> 1.  FPS (Frames per second): control the fluency of the smooth scrolling.
> 2.  Duration:  How long does it take to finish a mouse wheel scroll.
> 3.  SmoothMode:  The function of time t and the scroll speed s: s = f(t).  A 
> user can choose from the following four.  Suppose t is defined at [-m, +m], 
> and a, b, c, d are some constant:
>    I.  CONSTANT:  f(t) = c
>   II.  LINEAR:    f(t) = (m - |t|) * c
>  III.  QUADRATIC: f(t) = a - b*t^2
>   IV.  COSINE:    f(t) = (cos(c*t) + 1)/d
> 
>    a, b, c, d are determined by equation \integral_{-m}^{+m} f(t) dt = 1.
> 
> 4.  Acceration:  Dynamic change the step size:  when a user scroll his mouse 
> frequently,  we will increase its step size so that the user can enjoy a 
> faster scroll.
> 5.  Big Step Modifier:  When user press a modifier (by default, Alt) key and 
> scroll his wheel, the step size will be bigger (by default, 5 times).
> 6.  Small Step Modifier:  When user press a modifier (by default, Shift) key 
> and scroll his wheel, the step size will be smaller (by default, 1/5).
> 
> I hope all these settings will be exposed to the user finally.  I will 
> implement the configuration UI after 
> 
> https://git.reviewboard.kde.org/r/115335
> 
> is merged.  Should I open a new configuration page since this will occupy 
> some space?  Anyway, that should be relatively easy since all the interfaces 
> are implemented.
> 
> 
> Diffs
> -----
> 
>   ui/qsmoothscrollarea.cpp PRE-CREATION 
>   ui/qsmoothscrollarea.h PRE-CREATION 
>   ui/pageview.h 9c15af6 
>   ui/pageview.cpp 65967bf 
>   CMakeLists.txt 63d2922 
> 
> Diff: https://git.reviewboard.kde.org/r/115413/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Yichao Zhou
> 
>

_______________________________________________
Okular-devel mailing list
Okular-devel@kde.org
https://mail.kde.org/mailman/listinfo/okular-devel

Reply via email to