From 8a1c2a31dbf386f72c417742cd77cf701681518b Mon Sep 17 00:00:00 2001 From: John Schember Date: Thu, 11 Jun 2009 20:16:23 -0400 Subject: [PATCH 1/3] Force internal scrollbars off. Enable mouse scrolling with internal scrollbars off. --- src/calibre/gui2/viewer/documentview.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index a09a97b55a..70521f7701 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -488,6 +488,8 @@ class DocumentView(QWebView): return QWebView.changeEvent(self, event) def paintEvent(self, event): + self.turn_off_internal_scrollbars() + painter = QPainter(self) self.document.mainFrame().render(painter, event.region()) if not self.isEnabled(): @@ -508,6 +510,7 @@ class DocumentView(QWebView): event.accept() return ret = QWebView.wheelEvent(self, event) + self.scroll_by(0, event.delta() * -1) if self.manager is not None: self.manager.scrolled(self.scroll_fraction) return ret From def5885cf202702b5f2db58ae8851ad28c99850e Mon Sep 17 00:00:00 2001 From: John Schember Date: Thu, 11 Jun 2009 20:21:15 -0400 Subject: [PATCH 2/3] Ebook-viewer: handle vertical and horizontal scrolling. --- src/calibre/gui2/viewer/documentview.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index 70521f7701..91583da77f 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -509,8 +509,13 @@ class DocumentView(QWebView): self.manager.previous_document() event.accept() return + ret = QWebView.wheelEvent(self, event) - self.scroll_by(0, event.delta() * -1) + if event.orientation() == Qt.Vertical: + self.scroll_by(0, event.delta() * -1) + else: + self.scroll_by(event.delta() * -1, 0) + if self.manager is not None: self.manager.scrolled(self.scroll_fraction) return ret From 322d5d5ef47834955e9eed9c34a464dc08bf88f8 Mon Sep 17 00:00:00 2001 From: John Schember Date: Thu, 11 Jun 2009 21:03:42 -0400 Subject: [PATCH 3/3] Ebook-viewer: scroll by 20%. --- src/calibre/gui2/viewer/documentview.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index 91583da77f..71a3b5a428 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -511,10 +511,12 @@ class DocumentView(QWebView): return ret = QWebView.wheelEvent(self, event) + + scroll_amount = (event.delta() / 120.0) * .2 * -1 if event.orientation() == Qt.Vertical: - self.scroll_by(0, event.delta() * -1) + self.scroll_by(0, self.document.viewportSize().height() * scroll_amount) else: - self.scroll_by(event.delta() * -1, 0) + self.scroll_by(self.document.viewportSize().width() * scroll_amount, 0) if self.manager is not None: self.manager.scrolled(self.scroll_fraction)