Merge branch 'visibility-api' of https://github.com/Ban3/qutebrowser into Ban3-visibility-api

This commit is contained in:
Florian Bruhin 2016-09-11 16:23:14 +02:00
commit 4d96586eb6

View File

@ -72,6 +72,14 @@ class WebView(QWebView):
page = webpage.BrowserPage(self.win_id, self._tab_id, tab.data, page = webpage.BrowserPage(self.win_id, self._tab_id, tab.data,
parent=self) parent=self)
try:
page.setVisibilityState(
QWebPage.VisibilityStateVisible if self.isVisible()
else QWebPage.VisibilityStateHidden)
except AttributeError:
pass
self.setPage(page) self.setPage(page)
mode_manager = objreg.get('mode-manager', scope='window', mode_manager = objreg.get('mode-manager', scope='window',
@ -240,3 +248,35 @@ class WebView(QWebView):
self.shutting_down.connect(menu.close) self.shutting_down.connect(menu.close)
modeman.instance(self.win_id).entered.connect(menu.close) modeman.instance(self.win_id).entered.connect(menu.close)
menu.exec_(e.globalPos()) menu.exec_(e.globalPos())
def showEvent(self, e):
"""Extend showEvent to set the page visibility state to visible.
Args:
e: The QShowEvent.
Return:
The superclass event return value.
"""
try:
self.page().setVisibilityState(QWebPage.VisibilityStateVisible)
except AttributeError:
pass
super().showEvent(e)
def hideEvent(self, e):
"""Extend hideEvent to set the page visibility state to hidden.
Args:
e: The QHideEvent.
Return:
The superclass event return value.
"""
try:
self.page().setVisibilityState(QWebPage.VisibilityStateHidden)
except AttributeError:
pass
super().hideEvent(e)