Add undo command
This commit is contained in:
parent
321c00bbfb
commit
ff938fc0d5
@ -56,6 +56,7 @@ def main():
|
||||
cmds['print'].signal.connect(mw.tabs.print_act)
|
||||
cmds['scrolldown'].signal.connect(mw.tabs.scroll_down_act)
|
||||
cmds['scrollup'].signal.connect(mw.tabs.scroll_up_act)
|
||||
cmds['undo'].signal.connect(mw.tabs.undo_close)
|
||||
kp.from_cmd_dict(cmds)
|
||||
|
||||
mw.show()
|
||||
|
@ -64,3 +64,8 @@ class ScrollUp(Command):
|
||||
nargs = 0
|
||||
key = 'k'
|
||||
signal = pyqtSignal()
|
||||
|
||||
class Undo(Command):
|
||||
nargs = 0
|
||||
key = 'u'
|
||||
signal = pyqtSignal()
|
||||
|
@ -7,6 +7,7 @@ import logging
|
||||
class TabbedBrowser(TabWidget):
|
||||
tabs = []
|
||||
cur_progress = pyqtSignal(int)
|
||||
url_stack = []
|
||||
|
||||
def __init__(self, parent):
|
||||
super().__init__(parent)
|
||||
@ -29,10 +30,18 @@ class TabbedBrowser(TabWidget):
|
||||
tab = self.tabs[self.currentIndex()]
|
||||
tab.openurl(url)
|
||||
|
||||
@pyqtSlot()
|
||||
def undo_close(self):
|
||||
if self.url_stack:
|
||||
self.tabopen(self.url_stack.pop())
|
||||
|
||||
@pyqtSlot()
|
||||
def close_act(self):
|
||||
if len(self.tabs) > 1:
|
||||
idx = self.currentIndex()
|
||||
# FIXME maybe we should add the QUrl object here and deal with QUrls everywhere
|
||||
# FIXME maybe we actually should store the webview objects here
|
||||
self.url_stack.append(self.tabs[idx].url().url())
|
||||
self.tabs.pop(idx)
|
||||
self.removeTab(idx)
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user