diff options
Diffstat (limited to 'examples')
4 files changed, 16 insertions, 4 deletions
diff --git a/examples/webenginewidgets/simplebrowser/browser.cpp b/examples/webenginewidgets/simplebrowser/browser.cpp index 551edcc81..c1f5ddd55 100644 --- a/examples/webenginewidgets/simplebrowser/browser.cpp +++ b/examples/webenginewidgets/simplebrowser/browser.cpp @@ -16,7 +16,7 @@ Browser::Browser() &m_downloadManagerWidget, &DownloadManagerWidget::downloadRequested); } -BrowserWindow *Browser::createWindow(bool offTheRecord) +BrowserWindow *Browser::createHiddenWindow(bool offTheRecord) { if (!offTheRecord && !m_profile) { m_profile.reset(new QWebEngineProfile( @@ -32,6 +32,12 @@ BrowserWindow *Browser::createWindow(bool offTheRecord) QObject::connect(mainWindow, &QObject::destroyed, [this, mainWindow]() { m_windows.removeOne(mainWindow); }); + return mainWindow; +} + +BrowserWindow *Browser::createWindow(bool offTheRecord) +{ + auto *mainWindow = createHiddenWindow(offTheRecord); mainWindow->show(); return mainWindow; } diff --git a/examples/webenginewidgets/simplebrowser/browser.h b/examples/webenginewidgets/simplebrowser/browser.h index 604c45820..dcee68c79 100644 --- a/examples/webenginewidgets/simplebrowser/browser.h +++ b/examples/webenginewidgets/simplebrowser/browser.h @@ -18,6 +18,7 @@ public: QList<BrowserWindow*> windows() { return m_windows; } + BrowserWindow *createHiddenWindow(bool offTheRecord = false); BrowserWindow *createWindow(bool offTheRecord = false); BrowserWindow *createDevToolsWindow(); diff --git a/examples/webenginewidgets/simplebrowser/doc/src/simplebrowser.qdoc b/examples/webenginewidgets/simplebrowser/doc/src/simplebrowser.qdoc index 70d58c1e4..f45b362df 100644 --- a/examples/webenginewidgets/simplebrowser/doc/src/simplebrowser.qdoc +++ b/examples/webenginewidgets/simplebrowser/doc/src/simplebrowser.qdoc @@ -67,6 +67,9 @@ \skipto main \printuntil } + To suppress flicker when switching the window to OpenGL rendering, we call + show after the first browser tab has been added. + \section1 Creating Tabs The \c BrowserWindow constructor initializes all the necessary user interface @@ -256,6 +259,8 @@ \skipto /^class Browser$/ \printuntil public: \dots + \skipto createHiddenWindow + \printline createHiddenWindow \skipto createWindow \printline createWindow \skipto private: @@ -271,7 +276,7 @@ \quotefromfile webenginewidgets/simplebrowser/browser.cpp - \skipto Browser::createWindow + \skipto Browser::createHiddenWindow \printuntil m_profile.reset \dots diff --git a/examples/webenginewidgets/simplebrowser/main.cpp b/examples/webenginewidgets/simplebrowser/main.cpp index d0ac175f6..477a8171b 100644 --- a/examples/webenginewidgets/simplebrowser/main.cpp +++ b/examples/webenginewidgets/simplebrowser/main.cpp @@ -31,8 +31,8 @@ int main(int argc, char **argv) QUrl url = commandLineUrlArgument(); Browser browser; - BrowserWindow *window = browser.createWindow(); + BrowserWindow *window = browser.createHiddenWindow(); window->tabWidget()->setUrl(url); - + window->show(); return app.exec(); } |