forked from RosettaTechnologies/AnkiBrain
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathWebEnginePage.py
More file actions
27 lines (20 loc) · 882 Bytes
/
Copy pathWebEnginePage.py
File metadata and controls
27 lines (20 loc) · 882 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import webbrowser
from aqt.qt import *
class WebEnginePage(QWebEnginePage):
react_data_received = pyqtSignal(str)
def __init__(self):
super().__init__()
self.view = None
def javaScriptConsoleMessage(self, level, message, lineNumber, sourceID):
if 'DATA_FROM_REACT' in message:
data = message.replace('DATA_FROM_REACT:', '').strip()
self.react_data_received.emit(data)
else:
super().javaScriptConsoleMessage(level, message, lineNumber, sourceID)
def acceptNavigationRequest(self, url, _type, isMainFrame):
if _type == QWebEnginePage.NavigationType.NavigationTypeLinkClicked:
webbrowser.open(url.toString())
return False
return QWebEnginePage.acceptNavigationRequest(self, url, _type, isMainFrame)
def set_view(self, view):
self.view = view