From 8cb6ba01e3b180a0cbe029956578e0d3bbd33798 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 24 Sep 2014 20:53:21 +0200 Subject: [PATCH] Use object registry for TabbedBrowser in SignalFilter. --- qutebrowser/browser/signalfilter.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/qutebrowser/browser/signalfilter.py b/qutebrowser/browser/signalfilter.py index 100f1716b..320f3f58f 100644 --- a/qutebrowser/browser/signalfilter.py +++ b/qutebrowser/browser/signalfilter.py @@ -23,7 +23,7 @@ import functools from PyQt5.QtCore import QObject -from qutebrowser.utils import debug, log +from qutebrowser.utils import debug, log, objreg from qutebrowser.widgets import webview @@ -34,19 +34,12 @@ class SignalFilter(QObject): Signals are only passed to the parent TabbedBrowser if they originated in the currently shown widget. - Attributes: - _tabs: The QTabWidget associated with this SignalFilter. - Class attributes: BLACKLIST: List of signal names which should not be logged. """ BLACKLIST = ['cur_scroll_perc_changed', 'cur_progress'] - def __init__(self, tabs): - super().__init__(tabs) - self._tabs = tabs - def create(self, signal, tab): """Factory for partial _filter_signals functions. @@ -80,12 +73,13 @@ class SignalFilter(QObject): The target signal if the sender was the current widget. """ log_signal = debug.signal_name(signal) not in self.BLACKLIST + tabbed_browser = objreg.get('tabbed-browser') try: - tabidx = self._tabs.indexOf(tab) + tabidx = tabbed_browser.indexOf(tab) except RuntimeError: # The tab has been deleted already return - if tabidx == self._tabs.currentIndex(): + if tabidx == tabbed_browser.currentIndex(): if log_signal: log.signals.debug("emitting: {} (tab {})".format( debug.dbg_signal(signal, args), tabidx))