[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/3.5/kdelibs/khtml
From: Leo Savernik <l.savernik () aon ! at>
Date: 2006-09-07 16:24:44
Message-ID: 1157646284.770894.4963.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 581817 by savernik:
Fixed overly slow panning with mouse wheel at greater distances from the origin.
Original patch by Tom Albers.
BUG 125668
CCBUG 92374
CCMAIL tomalbers@kde.nl
M +6 -15 khtmlview.cpp
--- branches/KDE/3.5/kdelibs/khtml/khtmlview.cpp #581816:581817
@@ -391,8 +391,8 @@
QWidget* cursor_icon_widget;
// scrolling activated by MMB
- int m_mouseScroll_byX : 4;
- int m_mouseScroll_byY : 4;
+ short m_mouseScroll_byX;
+ short m_mouseScroll_byY;
QTimer *m_mouseScrollTimer;
QWidget *m_mouseScrollIndicator;
};
@@ -1101,21 +1101,12 @@
(deltaX > 0) ? d->m_mouseScroll_byX = 1 : d->m_mouseScroll_byX = -1;
(deltaY > 0) ? d->m_mouseScroll_byY = 1 : d->m_mouseScroll_byY = -1;
- int adX = abs( deltaX );
- int adY = abs( deltaY );
+ double adX = QABS(deltaX)/30.0;
+ double adY = QABS(deltaY)/30.0;
- if (adX > 100) d->m_mouseScroll_byX *= 7;
- else if (adX > 75) d->m_mouseScroll_byX *= 4;
- else if (adX > 50) d->m_mouseScroll_byX *= 2;
- else if (adX > 25) d->m_mouseScroll_byX *= 1;
- else d->m_mouseScroll_byX = 0;
+ d->m_mouseScroll_byX = kMax(kMin(d->m_mouseScroll_byX * int(adX*adX), SHRT_MAX), SHRT_MIN);
+ d->m_mouseScroll_byY = kMax(kMin(d->m_mouseScroll_byY * int(adY*adY), SHRT_MAX), SHRT_MIN);
- if (adY > 100) d->m_mouseScroll_byY *= 7;
- else if (adY > 75) d->m_mouseScroll_byY *= 4;
- else if (adY > 50) d->m_mouseScroll_byY *= 2;
- else if (adY > 25) d->m_mouseScroll_byY *= 1;
- else d->m_mouseScroll_byY = 0;
-
if (d->m_mouseScroll_byX == 0 && d->m_mouseScroll_byY == 0) {
d->m_mouseScrollTimer->stop();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic