Showing the changes to interface/src/scripting/WebWindowClass.cpp (1 of 2 files). Show all
Unified · Split
| @@ -41,19 +41,27 @@ WebWindowClass::WebWindowClass(const QString& title, const QString& url, int wid · 40 unmodified lines | |||
| 41 | 41 | ||
| 42 | _dockWidget = new QDockWidget(title, toolWindow); | 42 | _dockWidget = new QDockWidget(title, toolWindow); |
| 43 | _dockWidget->setFeatures(QDockWidget::DockWidgetMovable); | 43 | _dockWidget->setFeatures(QDockWidget::DockWidgetMovable); |
| 44 | QWebView* webView = new QWebView(_dockWidget); | 44 | |
| 45 | webView->page()->mainFrame()->addToJavaScriptWindowObject("EventBridge", _eventBridge); | 45 | _webView = new QWebView(_dockWidget); |
| 46 | webView->setUrl(url); | 46 | _webView->setUrl(url); |
| 47 | _dockWidget->setWidget(webView); | 47 | addEventBridgeToWindowObject(); |
| 48 | |||
| 49 | _dockWidget->setWidget(_webView); | ||
| 48 | 50 | ||
| 49 | toolWindow->addDockWidget(Qt::RightDockWidgetArea, _dockWidget); | 51 | toolWindow->addDockWidget(Qt::RightDockWidgetArea, _dockWidget); |
| 50 | 52 | ||
| 53 | connect(_webView->page()->mainFrame(), &QWebFrame::javaScriptWindowObjectCleared, | ||
| 54 | this, &WebWindowClass::addEventBridgeToWindowObject); | ||
| 51 | connect(this, &WebWindowClass::destroyed, _dockWidget, &QWidget::deleteLater); | 55 | connect(this, &WebWindowClass::destroyed, _dockWidget, &QWidget::deleteLater); |
| 52 | } | 56 | } |
| 53 | 57 | ||
| 54 | WebWindowClass::~WebWindowClass() { | 58 | WebWindowClass::~WebWindowClass() { |
| 55 | } | 59 | } |
| 56 | 60 | ||
| 61 | void WebWindowClass::addEventBridgeToWindowObject() { | ||
| 62 | _webView->page()->mainFrame()->addToJavaScriptWindowObject("EventBridge", _eventBridge); | ||
| 63 | } | ||
| 64 | |||
| 57 | void WebWindowClass::setVisible(bool visible) { | 65 | void WebWindowClass::setVisible(bool visible) { |
| 58 | if (visible) { | 66 | if (visible) { |
| 59 | QMetaObject::invokeMethod( | 67 | QMetaObject::invokeMethod( |