Loading TODOLIST.md +0 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ * Browser: support pop window, such as emacs-china.org * Browser: add progressbar * Browser: add proxy support * Browser: add scroll interface support. * Browser: implement js plugin like vimium * Browser: study more code from https://github.com/LavaPower/Browthon-Old/blob/c25d5721b40e95131a3c521566a18467f13ecbf0/files/Browthon_elements.py * ImageViewer: add zoom support Loading app/browser/buffer.py +4 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ from PyQt5.QtCore import QUrl from PyQt5.QtGui import QColor from core.browser import BrowserView from core.browser import BrowserView, webview_scroll from core.buffer import Buffer class AppBuffer(Buffer): Loading @@ -37,3 +37,6 @@ class AppBuffer(Buffer): # We need send key event to QWebEngineView's child, not QWebEngineView. for child in self.buffer_widget.children(): QApplication.sendEvent(child, event) def scroll(self, scroll_direction, scroll_type): webview_scroll(self, scroll_direction, scroll_type) app/markdownpreviewer/buffer.py +4 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ from PyQt5.QtCore import QUrl, Qt from PyQt5.QtGui import QColor from core.browser import BrowserView from core.browser import BrowserView, webview_scroll from core.buffer import Buffer from core.utils import PostGui import socket Loading Loading @@ -66,3 +66,6 @@ class AppBuffer(Buffer): paths = os.path.split(self.url) if len(paths) > 0: self.change_title(paths[-1]) def scroll(self, scroll_direction, scroll_type): webview_scroll(self, scroll_direction, scroll_type) app/orgpreviewer/buffer.py +4 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ from PyQt5.QtCore import QUrl, Qt from PyQt5.QtGui import QColor from core.browser import BrowserView from core.browser import BrowserView, webview_scroll from core.buffer import Buffer import os Loading @@ -40,3 +40,6 @@ class AppBuffer(Buffer): def update_with_data(self, update_data): self.load_org_html_file() self.buffer_widget.reload() def scroll(self, scroll_direction, scroll_type): webview_scroll(self, scroll_direction, scroll_type) core/browser.py +15 −0 Original line number Diff line number Diff line Loading @@ -227,3 +227,18 @@ class WebHitTestResult(): self.m_imageUrl = data.mediaUrl().toString() elif data.mediaType() == QWebEngineContextMenuData.MediaTypeAudio or data.mediaType() == QWebEngineContextMenuData.MediaTypeVideo: self.m_mediaUrl = data.mediaUrl().toString() def webview_scroll(webview, scroll_direction, scroll_type): line_offset = 10 page_offset = 100 if scroll_type == "page": if scroll_direction == "up": webview.buffer_widget.web_page.runJavaScript("window.scrollBy({0}, {1});".format(0, page_offset)); else: webview.buffer_widget.web_page.runJavaScript("window.scrollBy({0}, {1});".format(0, -page_offset)); else: if scroll_direction == "up": webview.buffer_widget.web_page.runJavaScript("window.scrollBy({0}, {1});".format(0, line_offset)); else: webview.buffer_widget.web_page.runJavaScript("window.scrollBy({0}, {1});".format(0, -line_offset)); Loading
TODOLIST.md +0 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ * Browser: support pop window, such as emacs-china.org * Browser: add progressbar * Browser: add proxy support * Browser: add scroll interface support. * Browser: implement js plugin like vimium * Browser: study more code from https://github.com/LavaPower/Browthon-Old/blob/c25d5721b40e95131a3c521566a18467f13ecbf0/files/Browthon_elements.py * ImageViewer: add zoom support Loading
app/browser/buffer.py +4 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ from PyQt5.QtCore import QUrl from PyQt5.QtGui import QColor from core.browser import BrowserView from core.browser import BrowserView, webview_scroll from core.buffer import Buffer class AppBuffer(Buffer): Loading @@ -37,3 +37,6 @@ class AppBuffer(Buffer): # We need send key event to QWebEngineView's child, not QWebEngineView. for child in self.buffer_widget.children(): QApplication.sendEvent(child, event) def scroll(self, scroll_direction, scroll_type): webview_scroll(self, scroll_direction, scroll_type)
app/markdownpreviewer/buffer.py +4 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ from PyQt5.QtCore import QUrl, Qt from PyQt5.QtGui import QColor from core.browser import BrowserView from core.browser import BrowserView, webview_scroll from core.buffer import Buffer from core.utils import PostGui import socket Loading Loading @@ -66,3 +66,6 @@ class AppBuffer(Buffer): paths = os.path.split(self.url) if len(paths) > 0: self.change_title(paths[-1]) def scroll(self, scroll_direction, scroll_type): webview_scroll(self, scroll_direction, scroll_type)
app/orgpreviewer/buffer.py +4 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ from PyQt5.QtCore import QUrl, Qt from PyQt5.QtGui import QColor from core.browser import BrowserView from core.browser import BrowserView, webview_scroll from core.buffer import Buffer import os Loading @@ -40,3 +40,6 @@ class AppBuffer(Buffer): def update_with_data(self, update_data): self.load_org_html_file() self.buffer_widget.reload() def scroll(self, scroll_direction, scroll_type): webview_scroll(self, scroll_direction, scroll_type)
core/browser.py +15 −0 Original line number Diff line number Diff line Loading @@ -227,3 +227,18 @@ class WebHitTestResult(): self.m_imageUrl = data.mediaUrl().toString() elif data.mediaType() == QWebEngineContextMenuData.MediaTypeAudio or data.mediaType() == QWebEngineContextMenuData.MediaTypeVideo: self.m_mediaUrl = data.mediaUrl().toString() def webview_scroll(webview, scroll_direction, scroll_type): line_offset = 10 page_offset = 100 if scroll_type == "page": if scroll_direction == "up": webview.buffer_widget.web_page.runJavaScript("window.scrollBy({0}, {1});".format(0, page_offset)); else: webview.buffer_widget.web_page.runJavaScript("window.scrollBy({0}, {1});".format(0, -page_offset)); else: if scroll_direction == "up": webview.buffer_widget.web_page.runJavaScript("window.scrollBy({0}, {1});".format(0, line_offset)); else: webview.buffer_widget.web_page.runJavaScript("window.scrollBy({0}, {1});".format(0, -line_offset));