summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-09-07 16:06:06 +0200
committerKai Koehne <kai.koehne@theqtcompany.com>2015-10-19 08:38:01 +0000
commit0e9555838c83ccf5a6a28ee99d6fd556ebf5b3b2 (patch)
tree3b1709a0e5cfb6ba76f7d532fbd2dfac85393068 /examples/webenginewidgets
parent38a426f21c0d6e47bdc05e5541b79c48cf967a0c (diff)
Fix ABI breakage due to fullscreen feature
We can not add a new virtual method without breaking ABI on some platforms, instead we need to use a setter. The API now uses a request object, and a separate signal for canceling, since canceling can not be rejected. Change-Id: If8069c343e86926293c30e8de179bf4e3cbd5886 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'examples/webenginewidgets')
-rw-r--r--examples/webenginewidgets/demobrowser/tabwidget.cpp19
-rw-r--r--examples/webenginewidgets/demobrowser/tabwidget.h2
2 files changed, 12 insertions, 9 deletions
diff --git a/examples/webenginewidgets/demobrowser/tabwidget.cpp b/examples/webenginewidgets/demobrowser/tabwidget.cpp
index 9e08426f1..4e2073b11 100644
--- a/examples/webenginewidgets/demobrowser/tabwidget.cpp
+++ b/examples/webenginewidgets/demobrowser/tabwidget.cpp
@@ -48,10 +48,11 @@
#include "urllineedit.h"
#include "webview.h"
+#include <QWebEngineDownloadItem>
+#include <QWebEngineProfile>
+#include <QWebEngineFullScreenRequest>
#include <QtCore/QMimeData>
#include <QtGui/QClipboard>
-#include <QtWebEngineWidgets/QWebEngineDownloadItem>
-#include <QtWebEngineWidgets/QWebEngineProfile>
#include <QtWidgets/QCompleter>
#include <QtWidgets/QListView>
#include <QtWidgets/QMenu>
@@ -321,8 +322,8 @@ void TabWidget::currentChanged(int index)
this, SIGNAL(loadProgress(int)));
disconnect(oldWebView->page()->profile(), SIGNAL(downloadRequested(QWebEngineDownloadItem*)),
this, SLOT(downloadRequested(QWebEngineDownloadItem*)));
- disconnect(oldWebView->page(), SIGNAL(fullScreenRequested(bool)),
- this, SLOT(fullScreenRequested(bool)));
+ disconnect(oldWebView->page(), SIGNAL(fullScreenRequested(const QWebEngineFullScreenRequest&)),
+ this, SLOT(fullScreenRequested(const QWebEngineFullScreenRequest&)));
}
#if defined(QWEBENGINEVIEW_STATUSBARMESSAGE)
@@ -335,8 +336,8 @@ void TabWidget::currentChanged(int index)
this, SIGNAL(loadProgress(int)));
connect(webView->page()->profile(), SIGNAL(downloadRequested(QWebEngineDownloadItem*)),
this, SLOT(downloadRequested(QWebEngineDownloadItem*)));
- connect(webView->page(), SIGNAL(fullScreenRequested(bool)),
- this, SLOT(fullScreenRequested(bool)));
+ connect(webView->page(), SIGNAL(fullScreenRequested(const QWebEngineFullScreenRequest&)),
+ this, SLOT(fullScreenRequested(const QWebEngineFullScreenRequest&)));
for (int i = 0; i < m_actions.count(); ++i) {
WebActionMapper *mapper = m_actions[i];
@@ -352,13 +353,14 @@ void TabWidget::currentChanged(int index)
webView->setFocus();
}
-void TabWidget::fullScreenRequested(bool fullscreen)
+void TabWidget::fullScreenRequested(const QWebEngineFullScreenRequest &request)
{
- if (fullscreen) {
+ if (request.toggleOn()) {
if (!m_fullScreenView)
m_fullScreenView = new QWebEngineView();
WebPage *webPage = qobject_cast<WebPage*>(sender());
webPage->setView(m_fullScreenView);
+ request.accept();
m_fullScreenView->showFullScreen();
m_fullScreenView->raise();
} else {
@@ -367,6 +369,7 @@ void TabWidget::fullScreenRequested(bool fullscreen)
WebPage *webPage = qobject_cast<WebPage*>(sender());
WebView *oldWebView = this->webView(m_lineEdits->currentIndex());
webPage->setView(oldWebView);
+ request.accept();
raise();
m_fullScreenView->hide();
}
diff --git a/examples/webenginewidgets/demobrowser/tabwidget.h b/examples/webenginewidgets/demobrowser/tabwidget.h
index 0f2a20c34..3a1fe7171 100644
--- a/examples/webenginewidgets/demobrowser/tabwidget.h
+++ b/examples/webenginewidgets/demobrowser/tabwidget.h
@@ -216,7 +216,7 @@ private slots:
void lineEditReturnPressed();
void windowCloseRequested();
void moveTab(int fromIndex, int toIndex);
- void fullScreenRequested(bool);
+ void fullScreenRequested(const QWebEngineFullScreenRequest& request);
private:
QAction *m_recentlyClosedTabsAction;