<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/115413/">https://git.reviewboard.kde.org/r/115413/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On February 8th, 2014, 11:49 p.m. UTC, <b>Albert Astals Cid</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'd be more happy if such a widget was at the Qt or at least at the kdelibs level. What do you think? Could you try to submit it for inclusion in kdelibs and see what the guys think?</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">That's a good idea. I will do that after I have some free time.</pre>
<br />
<p>- Yichao</p>
<br />
<p>On January 31st, 2014, 2:07 p.m. UTC, Yichao Zhou wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Okular.</div>
<div>By Yichao Zhou.</div>
<p style="color: grey;"><i>Updated Jan. 31, 2014, 2:07 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="http://bugs.kde.org/show_bug.cgi?id=319870">319870</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
okular
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.
</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>ui/qsmoothscrollarea.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>ui/qsmoothscrollarea.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>ui/pageview.h <span style="color: grey">(9c15af6)</span></li>
<li>ui/pageview.cpp <span style="color: grey">(65967bf)</span></li>
<li>CMakeLists.txt <span style="color: grey">(63d2922)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/115413/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>