commands: Implement scrollstart and scrollend

This commit is contained in:
Florian Bruhin 2014-01-19 18:43:47 +01:00
parent 8ca98da6c4
commit bba3696630
3 changed files with 28 additions and 1 deletions

View File

@ -64,5 +64,9 @@ class QuteBrowser(QApplication):
cmds['scrollleft'].signal.connect(self.mainwindow.tabs.scroll_left_act) cmds['scrollleft'].signal.connect(self.mainwindow.tabs.scroll_left_act)
cmds['scrollright'].signal.connect( cmds['scrollright'].signal.connect(
self.mainwindow.tabs.scroll_right_act) self.mainwindow.tabs.scroll_right_act)
cmds['scrollstart'].signal.connect(
self.mainwindow.tabs.scroll_start_act)
cmds['scrollend'].signal.connect(
self.mainwindow.tabs.scroll_end_act)
cmds['undo'].signal.connect(self.mainwindow.tabs.undo_close) cmds['undo'].signal.connect(self.mainwindow.tabs.undo_close)
self.keyparser.from_cmd_dict(cmdutils.cmd_dict) self.keyparser.from_cmd_dict(cmdutils.cmd_dict)

View File

@ -81,3 +81,13 @@ class Undo(Command):
nargs = 0 nargs = 0
key = 'u' key = 'u'
signal = pyqtSignal() signal = pyqtSignal()
class ScrollStart(Command):
nargs = 0
key = 'g, g'
signal = pyqtSignal()
class ScrollEnd(Command):
nargs = 0
key = 'Shift+g'
signal = pyqtSignal()

View File

@ -1,4 +1,4 @@
from PyQt5.QtCore import QObject, pyqtSlot, QUrl, pyqtSignal, Qt from PyQt5.QtCore import QObject, pyqtSlot, QUrl, pyqtSignal, Qt, QPoint
from PyQt5.QtPrintSupport import QPrintPreviewDialog from PyQt5.QtPrintSupport import QPrintPreviewDialog
from PyQt5.QtWebKitWidgets import QWebView from PyQt5.QtWebKitWidgets import QWebView
from qutebrowser.widgets.tabbar import TabWidget from qutebrowser.widgets.tabbar import TabWidget
@ -93,6 +93,19 @@ class TabbedBrowser(TabWidget):
def scroll_right_act(self, count=50): def scroll_right_act(self, count=50):
self.currentWidget().page().mainFrame().scroll(count, 0) self.currentWidget().page().mainFrame().scroll(count, 0)
@pyqtSlot()
def scroll_start_act(self):
frame = self.currentWidget().page().mainFrame()
cur_pos = frame.scrollPosition()
frame.setScrollPosition(QPoint(cur_pos.x(), 0))
@pyqtSlot()
def scroll_end_act(self):
frame = self.currentWidget().page().mainFrame()
cur_pos = frame.scrollPosition()
size = frame.contentsSize()
frame.setScrollPosition(QPoint(cur_pos.x(), size.height()))
@pyqtSlot() @pyqtSlot()
def switch_prev(self): def switch_prev(self):
idx = self.currentIndex() idx = self.currentIndex()