Use object registry for url_stack.
This commit is contained in:
parent
387622623d
commit
fd9c4b860a
@ -531,8 +531,9 @@ class CommandDispatcher:
|
||||
@cmdutils.register(instance='command-dispatcher')
|
||||
def undo(self):
|
||||
"""Re-open a closed tab (optionally skipping [count] closed tabs)."""
|
||||
if self._tabs.url_stack:
|
||||
self._tabs.tabopen(self._tabs.url_stack.pop())
|
||||
url_stack = objreg.get('url-stack', None)
|
||||
if url_stack:
|
||||
self._tabs.tabopen(url_stack.pop())
|
||||
else:
|
||||
raise cmdexc.CommandError("Nothing to undo!")
|
||||
|
||||
|
@ -53,7 +53,7 @@ class TabbedBrowser(tabwidget.TabWidget):
|
||||
_tab_insert_idx_left: Where to insert a new tab with
|
||||
tabbar -> new-tab-position set to 'left'.
|
||||
_tab_insert_idx_right: Same as above, for 'right'.
|
||||
url_stack: Stack of URLs of closed tabs.
|
||||
_url_stack: Stack of URLs of closed tabs.
|
||||
|
||||
Signals:
|
||||
cur_progress: Progress of the current tab changed (loadProgress).
|
||||
@ -106,7 +106,8 @@ class TabbedBrowser(tabwidget.TabWidget):
|
||||
self.currentChanged.connect(self.on_current_changed)
|
||||
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
|
||||
self._tabs = []
|
||||
self.url_stack = []
|
||||
self._url_stack = []
|
||||
objreg.register('url-stack', self._url_stack)
|
||||
self._filter = signalfilter.SignalFilter(self)
|
||||
dispatcher = commands.CommandDispatcher(self)
|
||||
objreg.register('command-dispatcher', dispatcher)
|
||||
@ -265,7 +266,7 @@ class TabbedBrowser(tabwidget.TabWidget):
|
||||
objreg.delete('last-focused-tab')
|
||||
if not tab.cur_url.isEmpty():
|
||||
qtutils.ensure_valid(tab.cur_url)
|
||||
self.url_stack.append(tab.cur_url)
|
||||
self._url_stack.append(tab.cur_url)
|
||||
tab.shutdown()
|
||||
self._tabs.remove(tab)
|
||||
self.removeTab(idx)
|
||||
|
Loading…
Reference in New Issue
Block a user