From 955ed2f52dfb6e1276be5c2e639ed3e0a42ddafb Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 17 Aug 2016 15:27:31 +0200 Subject: [PATCH] Simply connect HintLabel._move_to_elem to signal --- qutebrowser/browser/hints.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/qutebrowser/browser/hints.py b/qutebrowser/browser/hints.py index e07fdbef7..eada11ca4 100644 --- a/qutebrowser/browser/hints.py +++ b/qutebrowser/browser/hints.py @@ -84,8 +84,7 @@ class HintLabel(QLabel): self.setAttribute(Qt.WA_StyledBackground, True) style.set_register_stylesheet(self) - self._context.tab.contents_size_changed.connect( - self._on_contents_size_changed) + self._context.tab.contents_size_changed.connect(self._move_to_elem) self._move_to_elem() self.show() @@ -109,21 +108,18 @@ class HintLabel(QLabel): match_color, matched, unmatched)) self.adjustSize() + @pyqtSlot() def _move_to_elem(self): """Reposition the label to its element.""" + if self.elem.frame() is None: + # This sometimes happens for some reason... + log.hints.debug("Frame for {!r} vanished!".format(self)) + self.hide() + return no_js = config.get('hints', 'find-implementation') != 'javascript' rect = self.elem.rect_on_view(no_js=no_js) self.move(rect.x(), rect.y()) - @pyqtSlot() - def _on_contents_size_changed(self): - """Reposition hints if contents size changed.""" - if self.elem.frame() is None: - # This sometimes happens for some reason... - self.hide() - else: - self._move_to_elem() - def cleanup(self): """Clean up this element and hide it.""" self.hide()