summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/simplebrowser/browser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/browser.cpp')
-rw-r--r--examples/webenginewidgets/simplebrowser/browser.cpp34
1 files changed, 11 insertions, 23 deletions
diff --git a/examples/webenginewidgets/simplebrowser/browser.cpp b/examples/webenginewidgets/simplebrowser/browser.cpp
index f1420c2a3..5eae4f3c1 100644
--- a/examples/webenginewidgets/simplebrowser/browser.cpp
+++ b/examples/webenginewidgets/simplebrowser/browser.cpp
@@ -40,38 +40,26 @@
#include "browser.h"
#include "browserwindow.h"
-#include "webview.h"
-#include <QAuthenticator>
-Browser::Browser()
-{
-}
-
-Browser::~Browser()
-{
- qDeleteAll(m_windows);
- m_windows.clear();
-}
+#include <QWebEngineProfile>
-Browser &Browser::instance()
+Browser::Browser()
{
- static Browser browser;
- return browser;
-}
+ // Quit application if the download manager window is the only remaining window
+ m_downloadManagerWidget.setAttribute(Qt::WA_QuitOnClose, false);
-QVector<BrowserWindow*> Browser::windows()
-{
- return m_windows;
+ QObject::connect(
+ QWebEngineProfile::defaultProfile(), &QWebEngineProfile::downloadRequested,
+ &m_downloadManagerWidget, &DownloadManagerWidget::downloadRequested);
}
-void Browser::addWindow(BrowserWindow *mainWindow)
+BrowserWindow *Browser::createWindow()
{
- if (m_windows.contains(mainWindow))
- return;
- m_windows.prepend(mainWindow);
+ auto mainWindow = new BrowserWindow(this);
+ m_windows.append(mainWindow);
QObject::connect(mainWindow, &QObject::destroyed, [this, mainWindow]() {
m_windows.removeOne(mainWindow);
});
mainWindow->show();
+ return mainWindow;
}
-