mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Store a reference to the host widget
This commit is contained in:
parent
4f87ea3ccc
commit
03f1a3eb48
@ -208,6 +208,7 @@ class Inspector(QWidget):
|
|||||||
class WebView(RestartingWebEngineView):
|
class WebView(RestartingWebEngineView):
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
|
self._host_widget = None
|
||||||
RestartingWebEngineView.__init__(self, parent)
|
RestartingWebEngineView.__init__(self, parent)
|
||||||
self.dead_renderer_error_shown = False
|
self.dead_renderer_error_shown = False
|
||||||
self.render_process_failed.connect(self.render_process_died)
|
self.render_process_failed.connect(self.render_process_died)
|
||||||
@ -223,7 +224,13 @@ class WebView(RestartingWebEngineView):
|
|||||||
if parent is not None:
|
if parent is not None:
|
||||||
self.inspector = Inspector(parent.inspector_dock.toggleViewAction(), self)
|
self.inspector = Inspector(parent.inspector_dock.toggleViewAction(), self)
|
||||||
parent.inspector_dock.setWidget(self.inspector)
|
parent.inspector_dock.setWidget(self.inspector)
|
||||||
# QTimer.singleShot(100, lambda: (parent.inspector_dock.setVisible(True), parent.inspector_dock.setMinimumWidth(450)))
|
# QTimer.singleShot(100, lambda: (parent.inspector_dock.setVisible(True), parent.inspector_dock.setMinimumWidth(650)))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def host_widget(self):
|
||||||
|
ans = self._host_widget
|
||||||
|
if ans is not None and not sip.isdeleted(ans):
|
||||||
|
return ans
|
||||||
|
|
||||||
def render_process_died(self):
|
def render_process_died(self):
|
||||||
if self.dead_renderer_error_shown:
|
if self.dead_renderer_error_shown:
|
||||||
@ -233,6 +240,13 @@ class WebView(RestartingWebEngineView):
|
|||||||
'The Qt WebEngine Render process has crashed.'
|
'The Qt WebEngine Render process has crashed.'
|
||||||
' You should try restarting the viewer.') , show=True)
|
' You should try restarting the viewer.') , show=True)
|
||||||
|
|
||||||
|
def event(self, event):
|
||||||
|
if event.type() == event.ChildPolished:
|
||||||
|
child = event.child()
|
||||||
|
if 'HostView' in child.metaObject().className():
|
||||||
|
self._host_widget = child
|
||||||
|
return QWebEngineView.event(self, event)
|
||||||
|
|
||||||
def sizeHint(self):
|
def sizeHint(self):
|
||||||
return self._size_hint
|
return self._size_hint
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user