| Summary: | mouse-wheel scrolling: first page scrolls upwards to first page, last page scrolls downwards to last page | ||
|---|---|---|---|
| Product: | [Unmaintained] kdvi | Reporter: | Daniel Franke <franke.daniel> |
| Component: | general | Assignee: | Stefan Kebekus <kebekus> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | farzaneh_saremi |
| Priority: | NOR | ||
| Version First Reported In: | 1.3 | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | everytime i have to change my password | ||
|
Description
Daniel Franke
2005-08-13 22:39:38 UTC
In addition, I just found that it's not possible to scroll from page n-1 to page n in a n-page document. SVN commit 449385 by whuss:
Fix mousewheel scrolling in single page mode.
BUG:110727
M +7 -5 kmultipage.cpp
--- branches/KDE/3.5/kdegraphics/kviewshell/kmultipage.cpp #449384:449385
@@ -1149,9 +1149,11 @@
Q_UINT8 cols = scrollView()->getNrColumns();
Q_UINT8 rows = scrollView()->getNrRows();
- Q_UINT16 np = 0;
+ PageNumber np = 1;
if (cols*rows < currentPageNumber())
+ {
np = currentPageNumber() - cols*rows;
+ }
gotoPage(np);
}
@@ -1162,7 +1164,7 @@
Q_UINT8 cols = scrollView()->getNrColumns();
Q_UINT8 rows = scrollView()->getNrRows();
- Q_UINT16 np = QMIN(currentPageNumber() + cols*rows, (Q_UINT16)numberOfPages());
+ PageNumber np = QMIN(currentPageNumber() + cols*rows, (Q_UINT16)numberOfPages());
gotoPage(np);
}
@@ -1190,15 +1192,15 @@
if (deltaInPixel < 0) {
if (scrollBar->value() == scrollBar->minValue()) {
- if ( (currentPageNumber() == 0) || (changePageDelayTimer.isActive()) )
+ if ( (currentPageNumber() == 1) || (changePageDelayTimer.isActive()) )
return;
if (scrollView()->isContinuous())
return;
changePageDelayTimer.stop();
+ prevPage();
- prevPage();
scrollView()->setContentsPos(scrollView()->contentsX(), scrollBar->maxValue());
return;
}
@@ -1206,7 +1208,7 @@
if (deltaInPixel > 0) {
if (scrollBar->value() == scrollBar->maxValue()) {
- if ( (currentPageNumber() + 1 == numberOfPages()) || (changePageDelayTimer.isActive()) )
+ if ( (currentPageNumber() == numberOfPages()) || (changePageDelayTimer.isActive()) )
return;
if (scrollView()->isContinuous())
Thank you, for your bugreport. The regression you noticed was caused by a change of the internal numbering scheme of pages we did a while ago, that caused many off by one errors. Apparently we haven't found all of them yet. Anyway, the bug will be fixed in KDE 3.5, and in KDE 3.4.3 (if such a release will happen). Greetings, Wilfried Huss. Fast fix, thanks a lot =) Daniel Created attachment 121817 [details]
everytime i have to change my password
|