History

Use improved WebWindowClass for friends window

David Rowe committed 11 years ago

Commit 49de54d1 parent 96e888810 files · +45 −82Browse files

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

Unified · Split

interface/src/scripting/WebWindowClass.cpp+13−8
@@ -54,26 +54,27 @@ WebWindowClass::WebWindowClass(const QString& title, const QString& url, int wid · 53 unmodified lines
5454
5555 _windowWidget = dockWidget;
5656 } else {
57+ auto dialogWidget = new QDialog(Application::getInstance()->getWindow(), Qt::Window);
58+ dialogWidget->setWindowTitle(title);
59+ dialogWidget->setMinimumSize(width, height);
60+ connect(dialogWidget, &QDialog::finished, this, &WebWindowClass::hasClosed);
5761
58− _windowWidget = new QWidget(Application::getInstance()->getWindow(), Qt::Window);
59− _windowWidget->setWindowTitle(title);
60− _windowWidget->setMinimumSize(width, height);
61−
62− auto layout = new QVBoxLayout(_windowWidget);
62+ auto layout = new QVBoxLayout(dialogWidget);
6363 layout->setContentsMargins(0, 0, 0, 0);
64− _windowWidget->setLayout(layout);
64+ dialogWidget->setLayout(layout);
6565
66− _webView = new QWebView(_windowWidget);
66+ _webView = new QWebView(dialogWidget);
6767
6868 layout->addWidget(_webView);
6969
7070 addEventBridgeToWindowObject();
71+
72+ _windowWidget = dialogWidget;
7173 }
7274
7375 _webView->setPage(new DataWebPage());
7476 _webView->setUrl(url);
7577
76−
7778 connect(this, &WebWindowClass::destroyed, _windowWidget, &QWidget::deleteLater);
7879 connect(_webView->page()->mainFrame(), &QWebFrame::javaScriptWindowObjectCleared,
7980 this, &WebWindowClass::addEventBridgeToWindowObject);
@@ -82,6 +83,10 @@ WebWindowClass::WebWindowClass(const QString& title, const QString& url, int wid · 2 unmodified lines
8283 WebWindowClass::~WebWindowClass() {
8384 }
8485
86+void WebWindowClass::hasClosed() {
87+ emit closed();
88+}
89+
8590 void WebWindowClass::addEventBridgeToWindowObject() {
8691 _webView->page()->mainFrame()->addToJavaScriptWindowObject("EventBridge", _eventBridge);
8792 }