diff --git a/qutebrowser/browser/curcommand.py b/qutebrowser/browser/curcommand.py index dfcb325e9..bafa2a89f 100644 --- a/qutebrowser/browser/curcommand.py +++ b/qutebrowser/browser/curcommand.py @@ -173,7 +173,7 @@ class CurCommandDispatcher(QObject): Args: mode: The hinting mode to use. """ - self._tabs.currentWidget()._hintmanager.start(mode) + self._tabs.currentWidget().hintmanager.start(mode) @pyqtSlot(str, int) def search(self, text, flags): diff --git a/qutebrowser/browser/hints.py b/qutebrowser/browser/hints.py index 93e8d391a..e0975047f 100644 --- a/qutebrowser/browser/hints.py +++ b/qutebrowser/browser/hints.py @@ -17,7 +17,6 @@ """A HintManager to draw hints over links.""" -import logging import math import qutebrowser.config.config as config @@ -75,6 +74,12 @@ class HintManager: """Calculate the hint strings for elems. Inspirated by Vimium. + + Args: + elems: The elements to get hint strings for. + + Return: + A list of hint strings, in the same order as the elements. """ chars = config.get("hints", "chars") # Determine how many digits the link hints will require in the worst @@ -106,6 +111,13 @@ class HintManager: the array. Inspired by Vimium. + + Args: + hints: A list of hint strings. + length: Length of the available charset. + + Return: + A list of shuffled hint strings. """ buckets = [[] for i in range(length)] for i, hint in enumerate(hints): @@ -123,6 +135,14 @@ class HintManager: digits. Inspired by Vimium. + + Args: + number: The hint number. + chars: The charset to use. + digits: The minimum output length. + + Return: + A hint string. """ base = len(chars) hintstr = [] @@ -135,12 +155,17 @@ class HintManager: if number <= 0: break # Pad the hint string we're returning so that it matches digits. - for i in range(0, digits - len(hintstr)): + for _ in range(0, digits - len(hintstr)): hintstr.insert(0, chars[0]) return ''.join(hintstr) def _draw_label(self, elem, string): - """Draw a hint label over an element.""" + """Draw a hint label over an element. + + Args: + elem: The QWebElement to use. + string: The hint string to print. + """ rect = elem.geometry() css = HintManager.HINT_CSS.format(left=rect.x(), top=rect.y(), config=config.instance) diff --git a/qutebrowser/widgets/browsertab.py b/qutebrowser/widgets/browsertab.py index 5abb4312a..ee9ba32e1 100644 --- a/qutebrowser/widgets/browsertab.py +++ b/qutebrowser/widgets/browsertab.py @@ -42,7 +42,7 @@ class BrowserTab(QWebView): Attributes: page_: The QWebPage behind the view signal_cache: The signal cache associated with the view. - _hintmanager: The HintManager instance for this view. + hintmanager: The HintManager instance for this view. _zoom: A NeighborList with the zoom levels. _scroll_pos: The old scroll position. _shutdown_callback: Callback to be called after shutdown. @@ -76,7 +76,7 @@ class BrowserTab(QWebView): self._init_neighborlist() self.page_ = BrowserPage(self) self.setPage(self.page_) - self._hintmanager = HintManager(self.page_.mainFrame()) + self.hintmanager = HintManager(self.page_.mainFrame()) self.signal_cache = SignalCache(uncached=['linkHovered']) self.page_.setLinkDelegationPolicy(QWebPage.DelegateAllLinks) self.page_.linkHovered.connect(self.linkHovered)