summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api/qwebengineview.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/webenginewidgets/api/qwebengineview.h')
-rw-r--r--src/webenginewidgets/api/qwebengineview.h120
1 files changed, 58 insertions, 62 deletions
diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h
index 04c8ece74..f93d61b12 100644
--- a/src/webenginewidgets/api/qwebengineview.h
+++ b/src/webenginewidgets/api/qwebengineview.h
@@ -1,62 +1,34 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtWebEngine module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QWEBENGINEVIEW_H
#define QWEBENGINEVIEW_H
-#include <QtGui/qpainter.h>
-#include <QtNetwork/qnetworkaccessmanager.h>
+#include <QtGui/QPageLayout>
+#include <QtGui/qpageranges.h>
#include <QtWidgets/qwidget.h>
#include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
-#include <QtWebEngineWidgets/qwebenginepage.h>
-#include <QtWebEngineCore/qwebenginehttprequest.h>
+#include <QtWebEngineCore/qwebenginepage.h>
+
+namespace QtWebEngineWidgetUI {
+class AutofillPopupWidget;
+}
QT_BEGIN_NAMESPACE
+
class QContextMenuEvent;
+class QPrinter;
class QUrl;
-class QWebEnginePage;
+class QWebEngineContextMenuRequest;
+class QWebEngineHistory;
+class QWebEngineHttpRequest;
class QWebEngineSettings;
class QWebEngineViewAccessible;
class QWebEngineViewPrivate;
-class QWEBENGINEWIDGETS_EXPORT QWebEngineView : public QWidget {
+class QWEBENGINEWIDGETS_EXPORT QWebEngineView : public QWidget
+{
Q_OBJECT
Q_PROPERTY(QString title READ title)
Q_PROPERTY(QUrl url READ url WRITE setUrl)
@@ -67,18 +39,23 @@ class QWEBENGINEWIDGETS_EXPORT QWebEngineView : public QWidget {
Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor)
public:
- explicit QWebEngineView(QWidget* parent = Q_NULLPTR);
+ explicit QWebEngineView(QWidget *parent = nullptr);
+ explicit QWebEngineView(QWebEngineProfile *profile, QWidget *parent = nullptr);
+ explicit QWebEngineView(QWebEnginePage *page, QWidget *parent = nullptr);
virtual ~QWebEngineView();
- QWebEnginePage* page() const;
- void setPage(QWebEnginePage* page);
+ static QWebEngineView *forPage(const QWebEnginePage *page);
+
+ QWebEnginePage *page() const;
+ void setPage(QWebEnginePage *page);
void load(const QUrl &url);
void load(const QWebEngineHttpRequest &request);
- void setHtml(const QString& html, const QUrl& baseUrl = QUrl());
- void setContent(const QByteArray& data, const QString& mimeType = QString(), const QUrl& baseUrl = QUrl());
+ void setHtml(const QString &html, const QUrl &baseUrl = QUrl());
+ void setContent(const QByteArray &data, const QString &mimeType = QString(),
+ const QUrl &baseUrl = QUrl());
- QWebEngineHistory* history() const;
+ QWebEngineHistory *history() const;
QString title() const;
void setUrl(const QUrl &url);
@@ -89,18 +66,35 @@ public:
bool hasSelection() const;
QString selectedText() const;
-#ifndef QT_NO_ACTION
- QAction* pageAction(QWebEnginePage::WebAction action) const;
+#if QT_CONFIG(action)
+ QAction *pageAction(QWebEnginePage::WebAction action) const;
#endif
void triggerPageAction(QWebEnginePage::WebAction action, bool checked = false);
qreal zoomFactor() const;
void setZoomFactor(qreal factor);
- void findText(const QString &subString, QWebEnginePage::FindFlags options = QWebEnginePage::FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>());
+ void findText(const QString &subString, QWebEnginePage::FindFlags options = {},
+ const std::function<void(const QWebEngineFindTextResult &)> &resultCallback =
+ std::function<void(const QWebEngineFindTextResult &)>());
QSize sizeHint() const override;
QWebEngineSettings *settings() const;
+#if QT_CONFIG(menu)
+ QMenu *createStandardContextMenu();
+#endif
+ QWebEngineContextMenuRequest *lastContextMenuRequest() const;
+
+ void printToPdf(const QString &filePath,
+ const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4),
+ QPageLayout::Portrait, QMarginsF()),
+ const QPageRanges &ranges = {});
+ void printToPdf(const std::function<void(const QByteArray &)> &resultCallback,
+ const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4),
+ QPageLayout::Portrait, QMarginsF()),
+ const QPageRanges &ranges = {});
+ void print(QPrinter *printer);
+
public Q_SLOTS:
void stop();
void back();
@@ -111,20 +105,23 @@ Q_SIGNALS:
void loadStarted();
void loadProgress(int progress);
void loadFinished(bool);
- void titleChanged(const QString& title);
+ void titleChanged(const QString &title);
void selectionChanged();
- void urlChanged(const QUrl&);
- void iconUrlChanged(const QUrl&);
- void iconChanged(const QIcon&);
+ void urlChanged(const QUrl &);
+ void iconUrlChanged(const QUrl &);
+ void iconChanged(const QIcon &);
void renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus,
- int exitCode);
+ int exitCode);
+ void pdfPrintingFinished(const QString &filePath, bool success);
+ void printRequested();
+ void printFinished(bool success);
protected:
virtual QWebEngineView *createWindow(QWebEnginePage::WebWindowType type);
#if QT_CONFIG(contextmenu)
- void contextMenuEvent(QContextMenuEvent*) override;
+ void contextMenuEvent(QContextMenuEvent *) override;
#endif // QT_CONFIG(contextmenu)
- bool event(QEvent*) override;
+ bool event(QEvent *) override;
void showEvent(QShowEvent *) override;
void hideEvent(QHideEvent *) override;
void closeEvent(QCloseEvent *) override;
@@ -140,8 +137,7 @@ private:
Q_DECLARE_PRIVATE(QWebEngineView)
QScopedPointer<QWebEngineViewPrivate> d_ptr;
- friend class QWebEnginePage;
- friend class QWebEnginePagePrivate;
+ friend class QtWebEngineWidgetUI::AutofillPopupWidget;
#if QT_CONFIG(accessibility)
friend class QWebEngineViewAccessible;
#endif