From 4db8c2c92ae8bc722de70e4bd317dce17dea2f74 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 8 May 2015 12:58:28 +0200 Subject: Reintroduce private browsing mode for example browser Uses QWebEngineProfile to support private browsing mode. Change-Id: I78fa712d2425eb2df519594ee3fa5639bbcbebf6 Reviewed-by: Andras Becsi --- examples/webenginewidgets/browser/tabwidget.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'examples/webenginewidgets/browser/tabwidget.cpp') diff --git a/examples/webenginewidgets/browser/tabwidget.cpp b/examples/webenginewidgets/browser/tabwidget.cpp index 06ff59ac3..3df1628e0 100644 --- a/examples/webenginewidgets/browser/tabwidget.cpp +++ b/examples/webenginewidgets/browser/tabwidget.cpp @@ -217,6 +217,7 @@ TabWidget::TabWidget(QWidget *parent) , m_lineEditCompleter(0) , m_lineEdits(0) , m_tabBar(new TabBar(this)) + , m_profile(QWebEngineProfile::defaultProfile()) { setElideMode(Qt::ElideRight); @@ -456,6 +457,7 @@ WebView *TabWidget::newTab(bool makeCurrent) // webview WebView *webView = new WebView; + webView->setPage(new WebPage(m_profile, webView)); urlLineEdit->setWebView(webView); connect(webView, SIGNAL(loadStarted()), this, SLOT(webViewLoadStarted())); @@ -581,11 +583,7 @@ void TabWidget::closeTab(int index) #endif hasFocus = tab->hasFocus(); -#if defined(QTWEBENGINE_PRIVATEBROWSING) - QWebEngineSettings *globalSettings = QWebEngineSettings::globalSettings(); - if (!globalSettings->testAttribute(QWebEngineSettings::PrivateBrowsingEnabled)) -#endif - { + if (m_profile == QWebEngineProfile::defaultProfile()) { m_recentlyClosedTabsAction->setEnabled(true); m_recentlyClosedTabs.prepend(tab->url()); if (m_recentlyClosedTabs.size() >= TabWidget::m_recentlyClosedTabsSize) @@ -605,6 +603,19 @@ void TabWidget::closeTab(int index) emit lastTabClosed(); } +void TabWidget::setProfile(QWebEngineProfile *profile) +{ + m_profile = profile; + for (int i = 0; i < count(); ++i) { + QWidget *tabWidget = widget(i); + if (WebView *tab = qobject_cast(tabWidget)) { + WebPage* webPage = new WebPage(m_profile, tab); + webPage->load(tab->page()->url()); + tab->setPage(webPage); + } + } +} + void TabWidget::webViewLoadStarted() { WebView *webView = qobject_cast(sender()); -- cgit v1.2.3