summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/mainwindow/tabbedbrowser.py8
-rw-r--r--qutebrowser/mainwindow/windowundo.py6
2 files changed, 9 insertions, 5 deletions
diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py
index 68e4de5ff..cc52bffcf 100644
--- a/qutebrowser/mainwindow/tabbedbrowser.py
+++ b/qutebrowser/mainwindow/tabbedbrowser.py
@@ -45,13 +45,16 @@ class _UndoEntry:
"""Information needed for :undo."""
url: QUrl
- history: bytes # FIXME
+ history: bytes
index: int
pinned: bool
created_at: datetime.datetime = dataclasses.field(
default_factory=datetime.datetime.now)
+UndoStackType = MutableSequence[MutableSequence[_UndoEntry]]
+
+
class TabDeque:
"""Class which manages the 'last visited' tab stack.
@@ -222,8 +225,7 @@ class TabbedBrowser(QWidget):
# This init is never used, it is immediately thrown away in the next
# line.
- self.undo_stack: MutableSequence[MutableSequence[_UndoEntry]] = (
- collections.deque())
+ self.undo_stack: UndoStackType = collections.deque()
self._update_stack_size()
self._filter = signalfilter.SignalFilter(win_id, self)
self._now_focused = None
diff --git a/qutebrowser/mainwindow/windowundo.py b/qutebrowser/mainwindow/windowundo.py
index 07e4dc7d0..4d4e13f6a 100644
--- a/qutebrowser/mainwindow/windowundo.py
+++ b/qutebrowser/mainwindow/windowundo.py
@@ -21,13 +21,15 @@
import collections
import dataclasses
-from typing import Any, MutableSequence, cast
+from typing import Any, MutableSequence, cast, TYPE_CHECKING
from PyQt5.QtCore import QObject, QByteArray
from qutebrowser.config import config
from qutebrowser.mainwindow import mainwindow
from qutebrowser.misc import objects
+if TYPE_CHECKING:
+ from qutebrowser.mainwindow import tabbedbrowser
instance = cast('WindowUndoManager', None)
@@ -39,7 +41,7 @@ class _WindowUndoEntry:
"""Information needed for :undo -w."""
geometry: QByteArray
- tab_stack: Any # FIXME
+ tab_stack: 'tabbedbrowser.UndoStackType'
class WindowUndoManager(QObject):