Use functools instead of lambda for _filter_signals
This commit is contained in:
parent
81da8b6aaa
commit
14288977d1
@ -6,6 +6,7 @@ containing BrowserTabs).
|
|||||||
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
import functools
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
from PyQt5.QtWidgets import QShortcut, QApplication, QSizePolicy
|
from PyQt5.QtWidgets import QShortcut, QApplication, QSizePolicy
|
||||||
@ -61,19 +62,14 @@ class TabbedBrowser(TabWidget):
|
|||||||
tab.openurl(url)
|
tab.openurl(url)
|
||||||
self.addTab(tab, url.url())
|
self.addTab(tab, url.url())
|
||||||
self.setCurrentWidget(tab)
|
self.setCurrentWidget(tab)
|
||||||
tab.loadProgress.connect(
|
tab.loadProgress.connect(self._filter_factory(self.cur_progress))
|
||||||
lambda *args: self._filter_signals(self.cur_progress, *args))
|
tab.loadFinished.connect(self._filter_factory(self.cur_load_finished))
|
||||||
tab.loadFinished.connect(
|
tab.loadStarted.connect(self._filter_factory(self.cur_load_started))
|
||||||
lambda *args: self._filter_signals(self.cur_load_finished, *args))
|
|
||||||
tab.loadStarted.connect(
|
|
||||||
lambda *args: self._filter_signals(self.cur_load_started, *args))
|
|
||||||
# FIXME does QtWebView even do something sensible with that signal?
|
# FIXME does QtWebView even do something sensible with that signal?
|
||||||
tab.statusBarMessage.connect(
|
tab.statusBarMessage.connect(
|
||||||
lambda *args: self._filter_signals(self.cur_statusbar_message,
|
self._filter_factory(self.cur_statusbar_message))
|
||||||
*args))
|
|
||||||
tab.scroll_pos_changed.connect(
|
tab.scroll_pos_changed.connect(
|
||||||
lambda *args: self._filter_signals(self.cur_scroll_perc_changed,
|
self._filter_factory(self.cur_scroll_perc_changed))
|
||||||
*args))
|
|
||||||
# FIXME should we really bind this to loadStarted? Sometimes the URL
|
# FIXME should we really bind this to loadStarted? Sometimes the URL
|
||||||
# isn't set correctly at this point, e.g. when doing
|
# isn't set correctly at this point, e.g. when doing
|
||||||
# setContent(..., baseUrl=QUrl('foo'))
|
# setContent(..., baseUrl=QUrl('foo'))
|
||||||
@ -327,6 +323,10 @@ class TabbedBrowser(TabWidget):
|
|||||||
s = self.sender()
|
s = self.sender()
|
||||||
self.setTabText(self.indexOf(s), s.url().toString())
|
self.setTabText(self.indexOf(s), s.url().toString())
|
||||||
|
|
||||||
|
def _filter_factory(self, signal):
|
||||||
|
"""Returns a partial functon calling _filter_signals with a signal."""
|
||||||
|
return functools.partial(self._filter_signals, signal)
|
||||||
|
|
||||||
def _filter_signals(self, signal, *args):
|
def _filter_signals(self, signal, *args):
|
||||||
"""Filter signals and trigger TabbedBrowser signals if the signal
|
"""Filter signals and trigger TabbedBrowser signals if the signal
|
||||||
was sent from the _current_ tab and not from any other one.
|
was sent from the _current_ tab and not from any other one.
|
||||||
|
Loading…
Reference in New Issue
Block a user