diff options
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/browser.cpp')
-rw-r--r-- | examples/webenginewidgets/simplebrowser/browser.cpp | 34 |
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; } - |