From 5dac84896875a2c28758d43b8ab472c997055445 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 6 Jun 2018 17:51:00 +0200 Subject: Handle resizing via PseudoLayout This fixes the scenario where we just get a grey view when opening a link in a tab from DuckDuckGo. (cherry picked from commit 5147fc832c7320d7f06a07b93e7cea2b2ed20491) --- qutebrowser/browser/webengine/webview.py | 5 ----- qutebrowser/misc/miscwidgets.py | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py index f2ef3102f..be4ee334f 100644 --- a/qutebrowser/browser/webengine/webview.py +++ b/qutebrowser/browser/webengine/webview.py @@ -73,11 +73,6 @@ class WebEngineView(QWebEngineView): def shutdown(self): self.page().shutdown() - def resizeEvent(self, _event): - widget = self.render_widget() - if widget is not None: - widget.setGeometry(self.rect()) - def createWindow(self, wintype): """Called by Qt when a page wants to create a new window. diff --git a/qutebrowser/misc/miscwidgets.py b/qutebrowser/misc/miscwidgets.py index 908ea6235..9c2101ca7 100644 --- a/qutebrowser/misc/miscwidgets.py +++ b/qutebrowser/misc/miscwidgets.py @@ -281,6 +281,20 @@ class PseudoLayout(QLayout): def itemAt(self, _pos): return None + def widget(self): + return self.parent().render_widget() + + def setGeometry(self, rect): + widget = self.widget() + if widget is not None: + widget.setGeometry(rect) + + def sizeHint(self): + widget = self.widget() + if widget is not None: + return widget.sizeHint() + return QSize() + class FullscreenNotification(QLabel): -- cgit v1.2.3-54-g00ecf