History

Update WebWindow to redefine EventBridge after refresh

Ryan Huffman committed 11 years ago

Commit ba752041 parent d3a6a412 files · +15 −4Browse files

Showing the changes to interface/src/scripting/WebWindowClass.cpp (1 of 2 files). Show all

Unified · Split

interface/src/scripting/WebWindowClass.cpp+12−4
@@ -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
54WebWindowClass::~WebWindowClass() {58WebWindowClass::~WebWindowClass() {
55}59}
56 60
61void WebWindowClass::addEventBridgeToWindowObject() {
62 _webView->page()->mainFrame()->addToJavaScriptWindowObject("EventBridge", _eventBridge);
63}
64
57void WebWindowClass::setVisible(bool visible) {65void WebWindowClass::setVisible(bool visible) {
58 if (visible) {66 if (visible) {
59 QMetaObject::invokeMethod(67 QMetaObject::invokeMethod(